Nom des variables, php et formulaire
cooook
-
empty Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
empty Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Est-il possible de transmettre une variable ayant un nom différent mais la même valeur?
Par exemple, dans un formulaire:
<select name ="lapin" size="1">
<option value ="0"> choisissez un lapin</option>
<option value ="1"> Jeannot</option>
...
</select>
<select name ="chat" size="1">
<option value ="0"> choisissez un chat</option>
<option value ="1"> félix</option>
...
</select>
Et pour le code PHP de la page de résultats:
$id_animal = $_POST['chat'];
$id_animal = $_POST['lapin'];
J'ai essayé et ça ne marche pas; je dois passer à côté d'une notion fondamentale...
Mais sinon, comment faire?
Merci d'avance!
Est-il possible de transmettre une variable ayant un nom différent mais la même valeur?
Par exemple, dans un formulaire:
<select name ="lapin" size="1">
<option value ="0"> choisissez un lapin</option>
<option value ="1"> Jeannot</option>
...
</select>
<select name ="chat" size="1">
<option value ="0"> choisissez un chat</option>
<option value ="1"> félix</option>
...
</select>
Et pour le code PHP de la page de résultats:
$id_animal = $_POST['chat'];
$id_animal = $_POST['lapin'];
J'ai essayé et ça ne marche pas; je dois passer à côté d'une notion fondamentale...
Mais sinon, comment faire?
Merci d'avance!
A voir également:
- Nom des variables, php et formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Nom de l'adresse - Forum Jeux vidéo
- Formulaire de contact le bon coin introuvable - Forum Réseaux sociaux
8 réponses
Pour untruc comme ca je ferez cela
$id_animal = $_POST['chat'].",".$_POST['lapin'];
Ainsi ta variable $id_animal ="félix,jeannot"
Ou encore
$id_animal[] = $_POST['chat'];
$id_animal[]= $_POST['lapin'];
Ainsi $id_animal[0]="félix"
Ainsi $id_animal[1]="jeannot"
(nombre paire= chat / nombre impaire= lapin)
Je suis sur qu'il y aencore plein d'autre "astuce".
A toi de trouver celle qui te convient le mieux pour la suite de ton code.
$id_animal = $_POST['chat'].",".$_POST['lapin'];
Ainsi ta variable $id_animal ="félix,jeannot"
Ou encore
$id_animal[] = $_POST['chat'];
$id_animal[]= $_POST['lapin'];
Ainsi $id_animal[0]="félix"
Ainsi $id_animal[1]="jeannot"
(nombre paire= chat / nombre impaire= lapin)
Je suis sur qu'il y aencore plein d'autre "astuce".
A toi de trouver celle qui te convient le mieux pour la suite de ton code.
Et la premiere solution/astuce ?
Demain j'essaie de voir si je trouve une autre idée car apparement va pas falloir compter sur d'autre personnes ;)
Demain j'essaie de voir si je trouve une autre idée car apparement va pas falloir compter sur d'autre personnes ;)
et un truc comme ca ?
$id_animal[chat][] = $_POST['chat'];
$id_animal[lapin][] = $_POST['lapin'];
...
...
if($id_animal[chat][0]!="choisissez un chat")
{
....
}
if($id_animal['apin][0]!="choisissez un lapin")
{
....
}
------------------
Je pense que tu devrais plutot revoir ta base de donnée ;)
$id_animal[chat][] = $_POST['chat'];
$id_animal[lapin][] = $_POST['lapin'];
...
...
if($id_animal[chat][0]!="choisissez un chat")
{
....
}
if($id_animal['apin][0]!="choisissez un lapin")
{
....
}
------------------
Je pense que tu devrais plutot revoir ta base de donnée ;)
Je pense qu'il n'y a rien avoir avec une autre manière de coder, puis-je voir le contenu de ton tag <form> ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bout de formulaire:
<form class="formulaire" action= "traitement.php" method="POST">
<fieldset>
<select name ="lapin" size="1">
<option value ="0"> choisissez un lapin</option>
<option value ="1"> Jeannot</option> // car Jeannot = id_animal 1
</select>
</fieldset>
<fieldset>
<select name ="chat" size="1">
<option value ="0"> choisissez un chat</option>
<option value ="12"> félix</option> //car félix = id_animal 12
</select>
</fieldset>
</form>
<form class="formulaire" action= "traitement.php" method="POST">
<fieldset>
<select name ="lapin" size="1">
<option value ="0"> choisissez un lapin</option>
<option value ="1"> Jeannot</option> // car Jeannot = id_animal 1
</select>
</fieldset>
<fieldset>
<select name ="chat" size="1">
<option value ="0"> choisissez un chat</option>
<option value ="12"> félix</option> //car félix = id_animal 12
</select>
</fieldset>
</form>
Tu ne nous as pas dis ce que tu avais pour l'instant comme retour dans tes variables, tu es censé avoir les retour numérique présents dans l'attribut value de tes listes...
Salut!
Oui, j'attendais, car je patauge toujours! Pour l'instant, je fais dans la facilité, en donnant le même name à mes listes, mais bien sur, pas moyen de faire une recherche combinée...
Les valeurs numériques sont bien transmises.
Est-ce que je ne pourrais pas m'en sortir avec une concaténation, du genre avec un "else if" qui prendrait 2 fois en compte la même variable?
else if (!empty ($_POST ['mot_cle']) && (!empty ($_POST ['mot_cle'])))
Peut-être qu'avec une bonne syntaxe ça peut marcher? Je ne sais pas trop si ça peut se faire...
Merci à vous deux!
Oui, j'attendais, car je patauge toujours! Pour l'instant, je fais dans la facilité, en donnant le même name à mes listes, mais bien sur, pas moyen de faire une recherche combinée...
Les valeurs numériques sont bien transmises.
Est-ce que je ne pourrais pas m'en sortir avec une concaténation, du genre avec un "else if" qui prendrait 2 fois en compte la même variable?
else if (!empty ($_POST ['mot_cle']) && (!empty ($_POST ['mot_cle'])))
Peut-être qu'avec une bonne syntaxe ça peut marcher? Je ne sais pas trop si ça peut se faire...
Merci à vous deux!
Je ne suis pas sur d'avoir tout compris à ton problème, j'ai vu ton code il est correcte, ce que je veux savoir c'est ce que tu veux faire exactement car tu avais demandé si c'était possible de transmettre 2 variables avec le même ID, je ne vois pas pourquoi il y aurait un problème.
Si tu veux savoir d'ou viens le problème procède par étape, d'abord essaye d'afficher la valeur de retour, ensuite essaye avec SQL d'afficher la commande (c'est sûrement à ce niveau) au lieu de l'executer, après l'avoir affichée, copie là et met là dans PHPmyadmin, voir si le résultat est bien celui dont tu as besoin...
Si tu veux savoir d'ou viens le problème procède par étape, d'abord essaye d'afficher la valeur de retour, ensuite essaye avec SQL d'afficher la commande (c'est sûrement à ce niveau) au lieu de l'executer, après l'avoir affichée, copie là et met là dans PHPmyadmin, voir si le résultat est bien celui dont tu as besoin...
En fait le problème c'est qu'il faut que les variables soient transmises vraiment séparément, parce que c'est un formulaire de recherche avancée avec des listes déroulantes non obligatoires qui peuvent transmettre le même id...Et il y a 80 id différents en vrac dans ma base, du coup je ne peux pas faire le coup des nombres pairs et impaires (enfin si j'ai bien compris!)...
Un autre idée? Merci!