Page 1 sur 1
Pb avec une iframe
Posté : 03 mai 2005, 10:29
par Beatieyann
Bonjour,
A partir d'une page "annonces.htm" ou l'utilisateur definit des criteres de recherche, je veux ouvrir une page result;htm dans laquelle il y a une iframe qui va chercher une page "resultats.php" dans laquelle s'affichent les résultats. Dans la méthode post de "annonces.htm", si je mets "action=result.htm", ça me crée une erreur. J'ai changé le nom "result.htm" par "result.php", mais ça ne marche ps non plus.
Y a t il un moyen d'y arriver?
Posté : 03 mai 2005, 10:43
par heddicmi
Quelle erreur obtiens-tu ?
Posté : 03 mai 2005, 11:05
par beastieyann
Ca ne marque pas d'erreur mais mes critères de recherche ne sont pas pris en compte.
Posté : 03 mai 2005, 11:14
par heddicmi
Ce qui semble normal en fait, puisque c'est ta page result.html qui récupères tes valeurs. Il faudrait plutôt que tu changes l'extension en php et tu en profites aussi pour transmettre ton tableau post dans la page qui s'ouvre dans l'iframe (dans l'url d'ouverture)...resultat.php aura les valeurs...
Posté : 03 mai 2005, 11:32
par beastieyann
[quote="heddicmi"]Ce qui semble normal en fait, puisque c'est ta page result.html qui récupères tes valeurs. Il faudrait plutôt que tu changes l'extension en php et tu en profites aussi pour transmettre ton tableau post dans la page qui s'ouvre dans l'iframe (dans l'url d'ouverture)...resultat.php aura les valeurs...[/quote]
J'ai changer l'extension en php mais je ne sais pas comment transmettre mon tableau post dans la page qui s'ouvre dans l'iframe. Merci de me donner des pistes.
Posté : 03 mai 2005, 11:37
par heddicmi
Tu n'as jamais transmis de variables dans une url ? Un truc du genre bidule.php?nomvar=valeurvar
Là, ça sera pareil, sauf qu'il te fauxtransmettre ton tableau POST... Et logiquement, tu dois avoir un truc dans ton iframe du genre src="url"... voilà

Posté : 03 mai 2005, 11:59
par beastieyann
[quote="heddicmi"]
Là, ça sera pareil, sauf qu'il te fauxtransmettre ton tableau POST... Et logiquement, tu dois avoir un truc dans ton iframe du genre src="url"... voilà ;)[/quote]
excuse moi, mais c'est pas clair du tout pour un petit débutant comme moi. Qu'est ce que tu entends par "Transmettre ton tableau post"? est-ce que tu pourrais me doinner un exemple?
Posté : 03 mai 2005, 12:12
par heddicmi
Tu n'es pas sans savoir que quand tu as un lien de ce type : bidule.php?mavar=valeur,
Alors dans ta page bidule.php, tu auras accès à une variable $mavar qui aura comme valeur : "valeur"...
Donc, si tu transmets ton tableau post (bidule.php?tab=$_POST) alors, $tab contiendra ton tableau POST...
Posté : 03 mai 2005, 14:53
par beastieyann
merci bien. Je crois que je vais pouvoir m'en sortir.
Posté : 03 mai 2005, 15:30
par beastieyann
En fait je ne m'en sors pas. Si j'ai un champ "prenom" dans mon formulaire de départ, comment le récupérer dans mon code php de ma page contenue dans l'iframe?
Est ce que au lieu d'écrire '$_POST["prenom"], j'ecris '$tab["prenom"]' ?
Posté : 03 mai 2005, 15:38
par heddicmi
oui
Posté : 03 mai 2005, 15:57
par beastieyann
En fait je ne m'en sors pas. Si j'ai un champ "prenom" dans mon formulaire de départ, comment le récupérer dans mon code php de ma page contenue dans l'iframe?
Est ce que au lieu d'écrire '$_POST["prenom"], j'ecris '$tab["prenom"]' ?
Posté : 03 mai 2005, 16:12
par heddicmi
Mais encore ?

Posté : 03 mai 2005, 16:58
par Doria
Tu as finalement trois pages :
- - annonce.php, où tu rentres un nom
- result.php, qui reçoit la valeur de "nom" et est ouvert sur action de annonce.php
- et resultats.php, qui contient le traitement en fonction de la valeur de "nom" dans result.php
En considérant que le champ "nom" est un champ de texte, voici un peu de code qui pourrait t'aider :
ANNONCE.PHP
<form action="result.php" method="post">
<input name="nom" type="text"></form>
RESULT.PHP
<?
// on récupère la valkeur du champ nom
$nom=$_POST['nom'];
//et on la passe en paramètre dans la iframe, ici resultats.php
?>
<iframe src="frame.php?nom=<? echo $nom ?>"></iframe>
RESULTATS.PHP
<?
$nom=$_GET['nom'];
//ici je ne fais que l'afficher
echo $nom;
?>
Ok?
Posté : 04 mai 2005, 09:09
par beastieyann
Merci pour l'info super détaillée.
Ca marche nickel.