Variables & formulaire

Link26
Invité n'ayant pas de compte PHPfrance

14 avr. 2006, 14:37

Bonjour,
J'ai crée un menu déroulant. Je souhaite recuperer la valeur choisis afin de l'afficher. Exemple : dans ma liste il y a des noms de fruits, quand je selectionne un fruit, cela m'affiche vous avez selectionné : bananes.

voici mon A.php

Code : Tout sélectionner

<HTML> <BODY> <form action="A.php" method="get"> <select name="fruits" style="2"> <option>fraise</option> <option>cerise</option> <option>poire</option> <option>banane</option> <option>mangue</option> <INPUT TYPE=SUBMIT VALUE="Envoyer" name="send"> </select> </form> </BODY> <? $serveur= $_GET['fruits'] ; echo "Vous avez choisis $serveur"; ?> </HTML>
Jusque la ca marche mais je souhaite, si je change de page, que je puisse toujours avoir accces à ma variable que j'ai selectionné.
ex sur b.php je souhaite avoir : vous avez selectionné bananes, idem pour c.php etc...
Merci

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 avr. 2006, 14:42

Tu passes ta variable dans l'url ;)
<a href="b.php?type=<?php echo $_GET['fruits']; ?>">cliquer</a>
Et sur la page b.php, idem tu récupères ta variable avec $_GET['type']

Link26
Invité n'ayant pas de compte PHPfrance

14 avr. 2006, 14:58

Re
Désolé mais ta methode ne marche pas, ou plutot je n'arrive pas a l'appliquer (apres je vais me faire tirer les oreilles -_-').
voial mon message d'erreur :
Notice: Undefined index: fruits in c:\program files\easyphp1-8\www\frame\b.php on line 3

voici mon b.php

Code : Tout sélectionner

<HTML> <? $serveur= $_GET['fruit']; echo "Voici les caracteristiques de $fruit"; ?> <ul> <li><a href="spe.php" target="C">Description des fruits</a></li> </ul> </HTML>
De plus lorsque je clique sur "cliquer" je tombe sur la page b.php. Je ne comprend plus lol
Il faut que dans b.php je puisse avoir acces a ma variable fruit, et que dans c.php je puisse egalement y avoir acces.

Merci

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 avr. 2006, 15:02

En fait en gros sur la page où tu vas faire les liens tu as déjà récupérer ta variable.

Donc sur les liens, tu dois mettre la variable en question pour que les autres pages puissent y avoir accès :

Code : Tout sélectionner

<a href="1.php?type=banane">cliquer</a> <a href="2.php?type=banane">cliquer</a> <a href="3.php?type=banane">cliquer</a>
Ensuite sur tes pages 1, 2 et 3 tu récupères la variable type avec $_GET['type'].

Je ne sais pas si j'ai été assez clair...

Sinon tu peux utiliser les sessions aussi :)

Link26
Invité n'ayant pas de compte PHPfrance

14 avr. 2006, 15:04

Merci, je vais essayer, pour les sessions on verra plus tard, lol.

Link26
Invité n'ayant pas de compte PHPfrance

14 avr. 2006, 15:18

Areuh
Ta solution marche mais quand je clique sur cliquer, la page b.php s'ouvre dans le frame de a.php, idem pour c.php qui s'ouvre dans le frame reservé a a.php
Le mieux serai que b.php s'ouvre dans un frame precis et c.php s'ouvre dans une autre frame precis.
Merci

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 avr. 2006, 15:34

Tu mets juste le target non...?

Link26
Invité n'ayant pas de compte PHPfrance

14 avr. 2006, 15:37

OK, merci,
Par contre, je suis obligé de cliker pour mettre a jour le b.php, ya pas un script ou une fonction qui renvoie a une page automatiquement,
<a href="c.php?type=<? echo $_GET['fruits']; ?>"target="C">cliquer </a>
je veut aller a c.php?type=<? echo $_GET['fruits']; ?> sans etre obligé de cliker lol, je suis dificile mais bon, ca facilite beaucoup la lisibilité du site
Merci

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 avr. 2006, 15:41

Je ne comprend pas, si tu veux aller quelque part tu es bien obligé de faire une redirection non ? lol Et dans ton cas c'est un lien...

link26
Invité n'ayant pas de compte PHPfrance

14 avr. 2006, 16:06

Je ne veux pas faire de redirection, je m'explique, j'ai une page avec 3 frame. Dans une frame je choisis dans la liste deroulante, et dans les autres frames j'affiche soit les caracteristique des fruits, soit un menu propre a chaque fruits.
Donc dans ma frame de menu deroulante, en suivant ta methode je dois avoir trois bouton, afin de mettre a jour les autres frames. Or je veus que les autres frames se mettent a jour automatiquement. Sans faire apparaitre ces boutons.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 avr. 2006, 22:55

Oki donc c'est par liste déroulante.

Tu récupères donc la variable de la même façon mais cette fois dans une liste déroulante.

Dans l'action du form, tu l'envois vers la page que tu veux (avec en target la frame désiré). Ainsi la page s'ouvre donc se charge dans l'autre frame.