Pourquoi ce code ne fonctionne pas
Fermé
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
-
22 juil. 2013 à 23:45
flexi2202 - 24 juil. 2013 à 22:25
flexi2202 - 24 juil. 2013 à 22:25
A voir également:
- Pourquoi ce code ne fonctionne pas
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
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.
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
23 juil. 2013 à 12:11
23 juil. 2013 à 12:11
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>
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
23 juil. 2013 à 21:32
23 juil. 2013 à 21:32
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
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
23 juil. 2013 à 22:06
23 juil. 2013 à 22:06
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
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
24 juil. 2013 à 19:19
24 juil. 2013 à 19:19
Bonsoir,
Avec header() vous faites une redirection via le protocole http.
Pour ouvrir sur un clic dans une autre fenêtre, il y a plus simple:1
<a href="monsite.com" target="autre">mon texte</a>
Mais vous ne pouvez pas ouvrir une autre fenêtre ou onglet avec header();
A+
Avec header() vous faites une redirection via le protocole http.
Pour ouvrir sur un clic dans une autre fenêtre, il y a plus simple:1
<a href="monsite.com" target="autre">mon texte</a>
Mais vous ne pouvez pas ouvrir une autre fenêtre ou onglet avec header();
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question