Boite de selection : conserver son choix après changement de page ?

Boite de selection : conserver son choix après changement de page ? - HTML/CSS - Programmation

Marsh Posté le 26-05-2006 à 11:26:40    

Bonjour,  
 
Voilà j'ai une boite de selection à choix unique :
 

Code :
  1. <form method="POST" name="formulaire" action="Pays.php">
  2. <select align="absmiddle" size="1" name="pays">
  3. <option selected value="Superficie, nombre d'habitants... ">France</option>
  4. <option value="Superficie, nombre d'habitants... ">Belgique</option>
  5. <option value="Superficie, nombre d'habitants... ">Allemagne</option>
  6. <option value="Superficie, nombre d'habitants... ">Italie</option></select><br>
  7. <input type="submit" name="submit" value="OK"></p></form>


 
J'aimerai que lorsqu'on selectionne un pays et que l'on valide, retrouver le pays " pré-selectioné " dans la boite de dialogue une fois arrivé sur la page Pays.php.
 
Merci d'avance pour votre aide.  :jap:


Message édité par Maab le 26-05-2006 à 11:53:11
Reply

Marsh Posté le 26-05-2006 à 11:26:40   

Reply

Marsh Posté le 26-05-2006 à 13:56:07    

Bonjour,
 
Il te suffit, par exemple, de stocker la valeur que renvoie ta liste déroulante, dans une variable de Session une fois que tu as validé le formulaire.
 
Du style :
 

Code :
  1. session_start() ;
  2. if (!empty($_POST['submit']))
  3.      $_SESSION['valeurListe'] = $_POST['pays'] ;


 
Voilà, tout simplement.

Reply

Marsh Posté le 26-05-2006 à 15:27:19    

Merci Fiiies1.
 
Cependant, je place ce code dans ma page Pays.php (ou dans la page qui contient ma boite de selection ?) ?
Si oui à quel endroit ? Merci !

Reply

Marsh Posté le 27-05-2006 à 12:27:30    

Svp :/

Reply

Marsh Posté le 28-05-2006 à 19:16:46    

:cry:

Reply

Marsh Posté le 28-05-2006 à 20:23:10    

Dans la page où va ton "action" du form...
 
Mais ensuite tu fait un test dans la créations des champs de ta liste...
 
Et if la valeur est là bonne, tu afficher un attribut: selected="selected"

Reply

Marsh Posté le 29-05-2006 à 12:43:15    

Holala, je suis pas rendu. :/
Bien je sais que le script de Fiiies1 je dois le placer dans ma page Pays.php.
 
Mais ensuite je dois vous avouer que c'est du chinois pour moi. :)
 
J'ai placé le script en question dans Pays.php, mais sans succès.
Il ne suffit donc pas que je le place dans la page. Que dois je faire d'autre ? Merci.

Reply

Marsh Posté le 29-05-2006 à 13:13:53    

Il te suffit de faire  un bouton retour qui contient comme action history.back()

Reply

Marsh Posté le 29-05-2006 à 13:28:47    

Ton select il est dans pays.php ou dans une autre page?
 
Quoi qu'il en soit, dans pays.php tu as accès à la variable $_POST['pays'] qui contient l'élement du select choisi.
Si tu dois selectionner une option de ton select il faut que tu rajoutes un  

Code :
  1. <option ... selected="selected">...</option>


Il ne te reste donc qu'à tester quelle est l'option selectionnée pour lui rajouter l'instruction...
 

antho1983 a écrit :

Il te suffit de faire  un bouton retour qui contient comme action history.back()


[:mlc]

Reply

Marsh Posté le 29-05-2006 à 13:35:11    

pkoi il te plait pas le bouton retour. Si j'ai bien compris la selection se fait sur une page et l'affichage dans une autre.
 
  <input type =button value="Retour" onclick="history.back( )">

Reply

Marsh Posté le 29-05-2006 à 13:35:11   

Reply

Marsh Posté le 29-05-2006 à 16:38:06    

Oui, la selection du pays se fait dans une autre page (que j'ai appelée Formulaire.php).
 
antho1983 : history.back() est une fonction java script ? Comment la codée ?
 
anapajari : j'ai selected la première option du formulaire. Ce que je cherche à faire c'est conserver mon choix dans ma boite de selection, une fois redirigé sur ma page d'action : Pays.php. Faire en sorte que mon choix soit déjà pré-selectionné, pour une aide mémoire par exemple.


Message édité par Maab le 29-05-2006 à 16:39:17
Reply

Marsh Posté le 29-05-2006 à 16:54:34    

Déjà il faudrait que la valeur que tu envois dans le parametre 'pays', ça soit le nom du pays sélectionné et pas "Superficie, nombre d'habitants... " :/
 

Code :
  1. <form method="POST" name="formulaire" action="Pays.php">
  2.   <select align="absmiddle" size="1" name="pays">
  3.     <option selected value="France">France</option>
  4.     <option value="Belgique">Belgique</option>
  5.     <option value="Allemagne">Allemagne</option>
  6.     <option value="Italie">Italie</option>
  7.   </select><br>
  8.   <input type="submit" name="submit" value="OK">
  9. </form>


 
parce que sinon, quelque soit la ligne sélectionnée ce que tu receveras dans $_POST['pays'], ça sera "Superficie, nombre d'habitants... "
 
PS : history.back() permet de simuler en javascript un appui sur le bouton "Précédent" (donc ça n'a strictement rien à voir avec le problème)


Message édité par Bidem le 29-05-2006 à 16:57:00
Reply

Marsh Posté le 30-05-2006 à 08:32:46    

Ben chez moi le history.back() marche très bien. J'ai deux listes déroulantes et quand je clique dessus je garde les mêmes valeurs.

Reply

Marsh Posté le 30-05-2006 à 08:59:01    

antho1983 a écrit :

Ben chez moi le history.back() marche très bien. J'ai deux listes déroulantes et quand je clique dessus je garde les mêmes valeurs.


 
On sait que ça marche mais c'est pas ça sa question !!
 
Lui il veut que récupérer le pays sélectionné quand il soumet son formulaire à la page pays.php

Reply

Marsh Posté le 30-05-2006 à 09:13:04    

ah ok moi j'avais compris qu'il voulait garder les valeurs de formulaire.php lorsqu'il fait un retour sur la page pays.php.  
 
dsl

Reply

Marsh Posté le 30-05-2006 à 20:18:13    

Oui c'est bien ça bidem !
 
Délicate question apparement, certains doivent avoir dénicher le comment faire car certains sites disposent de cette fonction. :/

Reply

Marsh Posté le 30-05-2006 à 22:35:10    

Maab a écrit :

Oui c'est bien ça bidem !
 
Délicate question apparement, certains doivent avoir dénicher le comment faire car certains sites disposent de cette fonction. :/


 
Mais c'est quoi ce topik, on t'a donné 1000 fois la réponse, ça te suffit pas  :o

Reply

Marsh Posté le 31-05-2006 à 14:41:23    

Excuse moi xtof_83, mais il ne me semble pas...
 
Dans ce cas : à quel moment ?  
Et surtout : à la question " comment j'intégre ce code (si jamais il peut répondre à ma demande), m'a t on réellement répondu ? De telle sorte que je ne pose pas d'autre question d'ailleurs...
 
En gros, on m'a peut être donné la solution mais je ne suis pas capable à ce moment même d'intégrer correctement le code car personne n'a répondu clairement à me demande...

Reply

Marsh Posté le 31-05-2006 à 17:12:37    

En gros tu veux la soluce tout prête sur un plateau ....

Reply

Marsh Posté le 31-05-2006 à 19:03:01    

Heu... Lorsque tu viens poser ton problème sur un forum publique et que tu avoues que tu n'y connais pas grand chose en programation et que tu serais fort reconnaissant envers la personne au bon coeur qui viendrait à ton aide... Je ne vois pas comment faire mieux.
 
Lorsque tu ne vois pas la procédure à suivre, tu auras beau retourner le code dans tous les sens (ce que j'ai fait), tu ne seras pas plus avancé...
C'est pourquoi je fais appel, j'en suis certain, à des personnes compétentes de cette section. A chacun sa spécialité.  :jap:


Message édité par Maab le 31-05-2006 à 19:04:29
Reply

Marsh Posté le 01-06-2006 à 00:32:54    

C'est sur c'est sur, sur ce point je ne peux te contredire... :D
 
Mais ici c'est plus un forum de programmation, pas de dépannage gratos.
 
Si tu programmes un peu, on t'aide, ...
 
Ce que l'on a pu croire au début de ce topik...
 
Mais finalement tu as pas l'air motivé d'apprendre un peu par toi même.
 
On t'a indiqué les pistes, explorent les.
Puis revient si des soucis, il y a pas de probléme :D

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed