Frames & variable GET

Petit nouveau ! | 7 Messages

25 janv. 2006, 17:59

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 ?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

25 janv. 2006, 18:03

comment gères-tu tes frames ? Si tu utilises un formulaire, utilises la méthode POST c'est mieux.

Petit nouveau ! | 7 Messages

25 janv. 2006, 18:14

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.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

25 janv. 2006, 20:55

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 ?

Petit nouveau ! | 7 Messages

25 janv. 2006, 20:56

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>

Avatar du membre
ViPHP
ViPHP | 3008 Messages

25 janv. 2006, 20:57

Auto résolu c'est cool ;)