Page 1 sur 1

Frames & variable GET

Posté : 25 janv. 2006, 17:59
par flystef
Et oui, une fois n'est pas coutume.... j'utilise des frames.
J'ai fait mes pages nickel sans mettre de frames et maintenant, j'ai un problème que je ne comprends pas.

J'ai un formulaire et j'envoie les variables avec la method GET. Quand je clique sur "envoyer" la page s'ouvre avec mes 2 frames et dans l'adresse j'ai mes variables ?mail_dest=[email protected]

Ensuite, j'essaye de récupérer la variable mail_dest comme suit:
$mail_dest=$_GET["mail_dest"];

Avec les frames, j'ai le message d'erreur suivant :
Notice: Undefined index: mail_dest in c:\easyphp\www\communication.php on line 4

Une idée ?

Posté : 25 janv. 2006, 18:03
par charabia
comment gères-tu tes frames ? Si tu utilises un formulaire, utilises la méthode POST c'est mieux.

Posté : 25 janv. 2006, 18:14
par flystef
Merci pour cette réponse super rapide. J'ai essayé d'utiliser la méthode POST mais cela ne fonctionne toujours pas. Toujours le même message d'erreur.

J'ai deux frames horizontales. Celle du haut contient le menu et celle du bas le contenu. Je fais un test dans l'index pour voir si $p (contenu) et définie et si oui j'affiche $p.php dans la frame du bas

Je récupère les variables dans le fichier que j'appelle. J'ai aussi essayé de récupérer les variables dans l'index.php mais pas mieux.

Posté : 25 janv. 2006, 20:55
par charabia
En fait ton formulaire, l'envoie, la récupération se fait uniquement dans ta frame du bas ? La frame du haut ne contient que ton menu et donc ne rentre pas vraiment en compte dans le souci ?

Posté : 25 janv. 2006, 20:56
par flystef
En y réféchissant un peu... c'est tout simple.
Le fichier principal charge les frames et inclus d'autres fichiers.

Il faut récupérer les variables dans le fichier principal et les renvoyer vers les fichiers appelés.

<frameset cols="20%,80%">
<frame src="menu.php">

<?php
$arg = $_SERVER['REQUEST_URI'];
$arg=strrchr($arg, "?");
$frame=$_GET['frame'];
if($frame == "") $frame = "home";
echo "<frame src='$frame.php$arg'>";
?>

<noframes>
<body>
<p>Votre navigateur ne gère pas les cadres!</p>
</body>
</noframes>

Posté : 25 janv. 2006, 20:57
par charabia
Auto résolu c'est cool ;)