method get, bizarre!

Eléphant du PHP | 299 Messages

16 mai 2010, 18:34

Bonjour, j' aimerai envoyer une variable via la method get.

Mon url actuelle est index.php?c=videos

et je voudrai ajouter une variable "catégorie" se nommant "v".

Quoi que je fasse, au lieu d' avoir index.php?c=videos&v=animaux

je me retrouve apres selection a cette url qui du coup est fausse :

index.php?v=animaux.

Pourriez vous me dire mon erreur svp?
      <form method="GET" action="index.php?c=videos&">
      <select name="v">
      <option>Animaux</option>
      <option>Couillons</option>
      <option>Véhicules</option>
      <option>jeudi</option>
      <option>vendredi</option>
      </select>
      <input type="submit" value="OK !"
      </form>
Merci d' avance, parc eque je seche :/

ViPHP
ViPHP | 2287 Messages

16 mai 2010, 18:43

Bonjour,

Quand tu passes par un formulaire GET, tu ne peux plus construire ta chaine de paramètres dans l'attribut action du <form> comme tu l'as fait là. La chaîne de paramètres sera forcément construite à partir des valeurs du formulaire.

donc ça :
      <form method="GET" action="index.php?c=videos&">
C'est pas bon. Le navigateur ne retiendra que "index.php" et va construire tout seul la suite à partir des valeurs du formulaire uniquement ( qui ne contiennent pas de paramètre c, dans ton cas).

La technique est donc de créer un champ dans le formulaire pour passer ta valeur (ce champ n'a pas besoin d'être interactif, un <input type="hidden" /> est parfait pour ça ;) )
      <form method="GET" action="index.php">
<input type="hidden" name="c" value="videos" />
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 299 Messages

16 mai 2010, 18:56

Effectivement, je comprend mieux maintenant, et ta methode marche bien :)

Merci beaucoup !

Cdt