Pourquoi ce code ne fonctionne pas
flexi2202
Messages postés
3822
Date d'inscription
Statut
Membre
Dernière intervention
-
flexi2202 -
flexi2202 -
bonjour
j essaye ce morceau de code qui ne fonctionne pas
qui peux m expliquer pourquoi
merci de l aide
j essaye ce morceau de code qui ne fonctionne pas
qui peux m expliquer pourquoi
merci de l aide
<?php if($_POST['question1'] == "oui" && $_POST['question2'] == "oui") { header('Location: http://forums.phpbb-fr.com/'); } elseif($_POST['question1'] == "oui" && $_POST['question2'] == "non") { header('Location: https://www.commentcamarche.net/ } elseif($_POST['question1'] == "non" && $_POST['question2'] == "oui") { header('Location: https://www.google.be/?hl=fr&gws_rd=ssl } elseif($_POST['question1'] == "non" && $_POST['question2'] == "non") { header('Location: https://www.google.fr/?gws_rd=ssl } else { header('Location: formulaire.php'); } ?> <html> <body> <form action="questionnaire.php" method="post"> <p>Question n°1 : blablabla ?</p> <p><input type="radio" name="question1" value="oui1" /> Oui</p> <p><input type="radio" name="question1" value="non1" /> Non</p> <p>Question n°2 : blablabla ?</p> <p><input type="radio" name="question2" value="oui2" /> Oui</p> <p><input type="radio" name="question2" value="non2" /> Non</p> <p><input type="submit" value="VALIDER" /></p> </form> </body> </html>
A voir également:
- Pourquoi ce code ne fonctionne pas
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
5 réponses
Bonsoir,
On peut remarquer qu'aucune des conditions sauf la dernière ne sera jamais remplie puisque vous avez indiqué en value "oui1" et non "oui" ainsi que "non1" alors que vous testez si il y a "non" indiqué etc...
LA VALEUR QUE PRENDRA LA VARIABLE POST EST CELLE INDIQUE PAR L'ATTRIBUT VALUE ET NON LE TEXTE INDIQUE EN HTML; ne confondez pas affichage et valeur de variables.
Votre structure conditionnelle en elseif pour finir sur else est assez moche: source d'erreurs et un casse tête à modifier, sans parler de la complexité de lecture/compréhension du code.
Je vous conseille de tester vos valeurs POST et de vérifier si celle ci existe via isset(), il est aussi recommandé de ne pas utiliser ces variables directement par soucis de sécurité.
Vous auriez fait un echo() de vos variables vous auriez constaté le problème, echo() est la fonction la plus utile en PHP.
On peut remarquer qu'aucune des conditions sauf la dernière ne sera jamais remplie puisque vous avez indiqué en value "oui1" et non "oui" ainsi que "non1" alors que vous testez si il y a "non" indiqué etc...
LA VALEUR QUE PRENDRA LA VARIABLE POST EST CELLE INDIQUE PAR L'ATTRIBUT VALUE ET NON LE TEXTE INDIQUE EN HTML; ne confondez pas affichage et valeur de variables.
Votre structure conditionnelle en elseif pour finir sur else est assez moche: source d'erreurs et un casse tête à modifier, sans parler de la complexité de lecture/compréhension du code.
Je vous conseille de tester vos valeurs POST et de vérifier si celle ci existe via isset(), il est aussi recommandé de ne pas utiliser ces variables directement par soucis de sécurité.
Vous auriez fait un echo() de vos variables vous auriez constaté le problème, echo() est la fonction la plus utile en PHP.
Bonjour,
Ici:
<input type="radio" name="question1" value="oui1" /> Oui</p>
si je sélectionne cette option, c'est oui1 qui est envoyé, or vous testez oui.
Donc, ça ne peut pas marcher.
Corrigé:
Ici:
<input type="radio" name="question1" value="oui1" /> Oui</p>
si je sélectionne cette option, c'est oui1 qui est envoyé, or vous testez oui.
Donc, ça ne peut pas marcher.
Corrigé:
<form action="questionnaire.php" method="post"> <p>Question n°1 : blablabla ?</p> <p><input type="radio" name="question1" value="oui" /> Oui</p> <p><input type="radio" name="question1" value="non" /> Non</p> <p>Question n°2 : blablabla ?</p> <p><input type="radio" name="question2" value="oui" /> Oui</p> <p><input type="radio" name="question2" value="non" /> Non</p> <p><input type="submit" value="VALIDER" /></p> </form>
bonsoir a tous
merci pour la reponse
mais cela ne fonctionne pas
j ai un peu modifie le code
le voici
j ai une erreur a la ligne 7
Notice: Undefined index: sex in /home/a3325630/public_html/les-perles/essai redirectio/formulaire.php on line 7
merci pour la reponse
mais cela ne fonctionne pas
j ai un peu modifie le code
le voici
<?php if($_POST['question1'] == "oui" ) { header('Location: http://forums.phpbb-fr.com/'); } elseif($_POST['question1'] == "non" ) { header('Location: https://www.commentcamarche.net/ } else { header('Location: formulaire.php'); } ?> <html> <body> <form action="questionnaire.php" method="post"> <p>Question n°1 : blablabla ?</p> <p><input type="radio" name="question1" value="oui" /> Oui</p> <p><input type="radio" name="question1" value="non" /> Non</p> <p><input type="submit" value="VALIDER" /></p> </form> </html>
j ai une erreur a la ligne 7
Notice: Undefined index: sex in /home/a3325630/public_html/les-perles/essai redirectio/formulaire.php on line 7
voila cela fonctionne avec cet exemple
Mais a present comment faire pour ouvrir les liens dans un nouvel onglet dans un nouvel onglet
<?php if($_POST['question1'] == "oui" ) { header('Location: http://forums.phpbb-fr.com/'); } elseif($_POST['question1'] == "non" ) { header('Location: https://www.commentcamarche.net/ } ?> <html> <body> <form action="questionnaire.php" method="post"> <p>Question n°1 : blablabla ?</p> <p><input type="radio" name="question1" value="oui" /> Oui</p> <p><input type="radio" name="question1" value="non" /> Non</p> <p><input type="submit" value="VALIDER" /></p> </form> </html>
Mais a present comment faire pour ouvrir les liens dans un nouvel onglet dans un nouvel onglet
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question