PHP : probleme avec if et else
Résolu/Fermé
A voir également:
- PHP : probleme avec if et else
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Br php ✓ - Forum PHP
- Expert php - Télécharger - Langages
- Php echo image ✓ - Forum PHP
17 réponses
vordano
Messages postés
1682
Date d'inscription
mardi 12 juillet 2011
Statut
Membre
Dernière intervention
20 juillet 2012
316
14 juin 2012 à 14:31
14 juin 2012 à 14:31
salut,
v'la tes erreurs:
1) on ne met pas de ; après un if (chose que tu a fait)
2) on met un ; à chaque fin de ligne (chose que tu n'as pas fait)
v'la tes erreurs:
1) on ne met pas de ; après un if (chose que tu a fait)
2) on met un ; à chaque fin de ligne (chose que tu n'as pas fait)
if(isset($_POST['choix'])) { if($_POST['choix'] == "1") if(isset($_POST['choix1'])) { if($_POST['choix1'] == "1") if(isset($_POST['choix2'])) { if($_POST['choix2'] == "1") $choix = "Une platine en saillie en audio"; else if($_POST['choix2'] == "2") $choix = "Une platine en saillie en vidéo"; else $choix = "Choix non référencé"; } else if($_POST['choix1'] == "2") $choix = "Une platine en saillie en vidéo"; else $choix = "Choix non référencé"; } else if($_POST['choix'] == "2") $choix = "Une platine en saillie en vidéo"; else $choix = "Choix non référencé"; echo "Voux avez choisi : " .$choix; }
vordano
Messages postés
1682
Date d'inscription
mardi 12 juillet 2011
Statut
Membre
Dernière intervention
20 juillet 2012
316
14 juin 2012 à 15:48
14 juin 2012 à 15:48
ah je pense avoir trouvé ton problème
ton code est bon mais tu ne lance pas tes fichiers sur ton serveur php, du coup le html est bien interprété par ton navigateur, mais pas ton php
ton code est bon mais tu ne lance pas tes fichiers sur ton serveur php, du coup le html est bien interprété par ton navigateur, mais pas ton php
SlyK
Messages postés
854
Date d'inscription
vendredi 11 mars 2011
Statut
Contributeur sécurité
Dernière intervention
6 octobre 2014
147
Modifié par SlyK le 14/06/2012 à 11:14
Modifié par SlyK le 14/06/2012 à 11:14
Bonjour,
Pourquoi mettre des ";" après le if ?
@+
Pourquoi mettre des ";" après le if ?
if (Condition) {Instruction} elseif (Condition) {Instruction} else {Instruction}
@+
merci pour les deux réponses , si ton cousin s'apelle cyril vallas c'est moi , je tien ce pseudo de moi et de mon chien ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cela ne marche toujours pas , quoique je fasse après le bouton valider , le seul truc qui apparaît c'est :
Détails :
c'est rageant ... :/
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr">
<head>
<title>Configurateur Page d'accueuil</title>
<meta charset="utf-8">
</head>
<body>
<p>Details :</p>
<p>
<?php
if(isset($_POST['choix']))
{
if($_POST['choix'] == "1")
if(isset($_POST['choix1']))
{
if($_POST['choix1'] == "1")
if(isset($_POST['choix2']))
{
if($_POST['choix2'] == "1") $choix = "Une platine en saillie en audio"
else if($_POST['choix2'] == "2") $choix = "Une platine en saillie en vidéo"
else $choix = "Choix non référencé"
}
else if($_POST['choix1'] == "2") $choix = "Une platine en saillie en vidéo"
else $choix = "Choix non référencé"
}
else if($_POST['choix'] == "2") $choix = "Une platine en saillie en vidéo"
else $choix = "Choix non référencé"
echo "Voux avez choisi : " .$choix
}
?>
</p>
</body>
</html>
Détails :
c'est rageant ... :/
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr">
<head>
<title>Configurateur Page d'accueuil</title>
<meta charset="utf-8">
</head>
<body>
<p>Details :</p>
<p>
<?php
if(isset($_POST['choix']))
{
if($_POST['choix'] == "1")
if(isset($_POST['choix1']))
{
if($_POST['choix1'] == "1")
if(isset($_POST['choix2']))
{
if($_POST['choix2'] == "1") $choix = "Une platine en saillie en audio"
else if($_POST['choix2'] == "2") $choix = "Une platine en saillie en vidéo"
else $choix = "Choix non référencé"
}
else if($_POST['choix1'] == "2") $choix = "Une platine en saillie en vidéo"
else $choix = "Choix non référencé"
}
else if($_POST['choix'] == "2") $choix = "Une platine en saillie en vidéo"
else $choix = "Choix non référencé"
echo "Voux avez choisi : " .$choix
}
?>
</p>
</body>
</html>
thomascour
Messages postés
33
Date d'inscription
mercredi 13 juin 2012
Statut
Membre
Dernière intervention
15 juin 2012
10
14 juin 2012 à 11:32
14 juin 2012 à 11:32
A un endroit, tu as mis 2x un point virgule!
j'ai vu je l'ai retiré
thomascour
Messages postés
33
Date d'inscription
mercredi 13 juin 2012
Statut
Membre
Dernière intervention
15 juin 2012
10
14 juin 2012 à 11:35
14 juin 2012 à 11:35
Et ca ne change rien? Je ne sais pas alors :/
SlyK
Messages postés
854
Date d'inscription
vendredi 11 mars 2011
Statut
Contributeur sécurité
Dernière intervention
6 octobre 2014
147
14 juin 2012 à 11:38
14 juin 2012 à 11:38
J'ai regardé de plus près ton code, tu te compliques la vie :p
Expliques moi un peu mieux qu'est-ce que tu veux faire et je vais te simplifier ton code en corrigeant l'erreur qui t'embête.
@+
Expliques moi un peu mieux qu'est-ce que tu veux faire et je vais te simplifier ton code en corrigeant l'erreur qui t'embête.
@+
bon alors c'est simple , ( ou pas ) :
dans mon html j'ai ceci :
le but étant que mon php me dise ce que j'ai choisi a la fin grace au bouton radio cochés ( le html marche )
voici le php
dans mon html j'ai ceci :
<?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="fr"> <head> <title>Configurateur Individuel : choix des platines</title> <meta charset="utf-8"> <script type="text/javascript" src="jquery.js"></script> </head> <body> <h1>Configurateur de platine</h1> <form method="post" action="valider.php"> <form action="<?$PHP_SELF;?>" method="post"> <fieldset> <legend>Type d'installation</legend> <center> Vous allez maintenant choisir deux platines exterieures , vous avec le choix entre<br> en saillie ou en encastré , vous pouvez prendre les deux , veillez toutefois a ne pas choisir plus de deux platines tout type confondus </center> <script type="text/javascript"> function radioclick1 (b) { document.getElementById('div1').style.display = (b!=1? 'none':'block'); document.getElementById('div2').style.display = (b!=2? 'none':'block'); } </script> <li><input type="radio" name="choix" value="1" onclick="radioclick1(1);" id="radio1"> <label for="radio1">une platine extérieure</label></li> <div id="div1" style="display:none"> <br><fieldset> Désirez vous que votre platine soit en saillie ou en encastré ? : <br> <script type="text/javascript"> function radioclick2 (b) { document.getElementById('div3').style.display = (b!=1? 'none':'block'); document.getElementById('div4').style.display = (b!=2? 'none':'block'); } </script> <br> <li><input type="radio" name="choix1" value="1" onclick="radioclick2(1);" id="radio1a"> <label for="radio1a">je veux une platine en saillie</label></li> <div id="div3" style="display:none"><br> <fieldset> Voulez vous que votre platine soit Audio ou Vidéo ?<br><br> <script type="text/javascript"> function radioclicka3 (b) { document.getElementById('div5').style.display = (b!=1? 'none':'block'); document.getElementById('div6').style.display = (b!=2? 'none':'block'); } </script> <li><input type="radio" name="choix2" value="1" onclick="radioclick3(1);" id="radio1a1"> <label for="radio1a1">je veux une platine en Audio</label></li> <li><input type="radio" name="choix2" value="1" onclick="radioclick3(2);" id="radio1a1"> <label for="radio1a1">je veux une platine en Video</label></li> </fieldset><br> </div> <li><input type="radio" name="choix1" value="1" onclick="radioclick2(2);" id="radio2a"> <label for="radio2a">je veux une platine en encastré</label></li> <div id="div4" style="display:none"><br> <fieldset> Voulez vous que votre platine soit Audio ou Vidéo ? <br><br> <script type="text/javascript"> function radioclick4 (b) { document.getElementById('div7').style.display = (b!=1? 'none':'block'); document.getElementById('div8').style.display = (b!=2? 'none':'block'); } </fieldset> </script> <li><input type="radio" name="choix2" value="1" onclick="radioclick4(1);" id="radio1a2"> <label for="radio1a2">je veux une platine en Audio</label></li> <li><input type="radio" name="choix2" value="1" onclick="radioclick4(2);" id="radio1a2"> <label for="radio1a2">je veux une platine en Video</label></li> </fieldset> </div> </div> <br> <li><input type="radio" name="choix" value="2" onclick="radioclick1(2);" id="radio2"> <label for="radio2">deux platines extérieures</label></li><br> <div id="div2" style="display:none"> <fieldset> Désirez vous que votre platine soit en saillie ou en encastré ? :<br><br> <script type="text/javascript"> function radioclick5 (b) { document.getElementById('div9').style.display = (b!=1? 'none':'block'); document.getElementById('div10').style.display = (b!=2? 'none':'block'); } </script> <li><input type="radio" name="choix1" value="1" onclick="radioclick5(1);" id="radio3"> <label for="radio3">je veux une platine en saillie</label></li> <div id="div9" style="display:none"><br> <fieldset> Voulez vous que votre platine soit Audio ou Vidéo ? <br><br> <li><input type="radio" name="choix2" value="1" onclick="radioclickb2(1);" id="radio1a2"> <label for="radio1a2">je veux une platine en Audio</label></li> <li><input type="radio" name="choix2" value="2" onclick="radioclickb2(2);" id="radio1a2"> <label for="radio1a2">je veux une platine en Video</label></li> </fieldset> <br><br> </div> <li><input type="radio" name="choix1" value="2" onclick="radioclick5(2);" id="radio4"> <label for="radio4">je veux une platine en encastré</label></li> <div id="div10"style="display:none"><br> <fieldset> Voulez vous que votre platine soit Audio ou Vidéo ?<br><br> <li><input type="radio" name="choix2" value="1" onclick="radiocl(1);" id="radio1a2"> <label for="radio1a2">je veux une platine en Audio</label></li> <li><input type="radio" name="choix2" value="2" onclick="radiocl(2);" id="radio1a2"> <label for="radio1a2">je veux une platine en Video</label></li> </fieldset> </div> </fieldset> </div> </fieldset> <input type="submit" value="Valider"> </form> </form> </body> </html>
le but étant que mon php me dise ce que j'ai choisi a la fin grace au bouton radio cochés ( le html marche )
voici le php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="fr"> <head> <title>Configurateur Page d'accueuil</title> <meta charset="utf-8"> </head> <body> <p>Details :</p> <p> <?php if(isset($_POST['choix'])) { if($_POST['choix'] == "1") if(isset($_POST['choix1'])) { if($_POST['choix1'] == "1") if(isset($_POST['choix2'])) { if($_POST['choix2'] == "1") $choix = "Une platine en saillie en audio" else if($_POST['choix2'] == "2") $choix = "Une platine en saillie en vidéo" else $choix = "Choix non référencé" } else if($_POST['choix1'] == "2") $choix = "Une platine en saillie en vidéo" else $choix = "Choix non référencé" } else if($_POST['choix'] == "2") $choix = "Une platine en saillie en vidéo" else $choix = "Choix non référencé" echo "Voux avez choisi : " .$choix } ?> </p> </body> </html>
SlyK
Messages postés
854
Date d'inscription
vendredi 11 mars 2011
Statut
Contributeur sécurité
Dernière intervention
6 octobre 2014
147
14 juin 2012 à 12:55
14 juin 2012 à 12:55
Le dernier echo est faux, c'est le problème principal.
ou
Je regarde cette après-midi pour le code.
echo "Vous avez choisi : $choix";
ou
echo 'Vous avez choisi : ' . $choix;
Je regarde cette après-midi pour le code.
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
14 juin 2012 à 14:25
14 juin 2012 à 14:25
pour le fichier html, voir les commentaires:
Pour le fichier php, tu est faché avec les ; de fin d'instruction !!
il faut mettre systématiquement les {} dans les conditions if et else, on peut les omettre si une seule ligne 'instruction, mais c'est vite source d'erreur
<?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="fr"> <head> <title>Configurateur Individuel : choix des platines</title> <meta charset="utf-8"> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> /* pourqoui mettre les fonctions JS à l'int"rieur de la page dans le head c'est aussi nien, de plus avec une seulle fonction tu peut tout faaire, il suffit de lui passer les id en arguments j'ai commencé avec les premières continue dans le même esprit */ function radioclick (b,id_div1,id_div2) { document.getElementById(id_div1).style.display = (b!=1? 'none':'block'); document.getElementById(id_div2).style.display = (b!=2? 'none':'block'); } </script> </head> <body> <h1>Configurateur de platine</h1> <form method="post" action="valider.php"> <!-- <form action="<?$PHP_SELF;?>" method="post"> POURQuoI DEUX form l'une dans l'autre ???? --> <fieldset> <legend>Type d'installation</legend> <center> Vous allez maintenant choisir deux platines exterieures , vous avec le choix entre<br> en saillie ou en encastré , vous pouvez prendre les deux , veillez toutefois a ne pas choisir plus de deux platines tout type confondus </center> <!-- tes 2 boutons radio choix ont la même value ce n'est pas bon idem pour tous les autres --> <li><input type="radio" name="choix" value="1" onclick="radioclick('1','div1','div2');" id="radio1"> <label for="radio1">une platine extérieure</label></li> <div id="div1" style="display:none"> <br><fieldset> Désirez vous que votre platine soit en saillie ou en encastré ? : <br> <br> <li><input type="radio" name="choix1" value="1" onclick="radioclick('1',div3','div4');" id="radio1a"> <label for="radio1a">je veux une platine en saillie</label></li> <div id="div3" style="display:none"><br> <fieldset> Voulez vous que votre platine soit Audio ou Vidéo ?<br><br> <li><input type="radio" name="choix2" value="1" onclick="radioclick('1','div5','div6');" id="radio1a1"> <label for="radio1a1">je veux une platine en Audio</label></li> <li><input type="radio" name="choix2" value="1" onclick="radioclick('2','div1','div2');" id="radio1a1"> <label for="radio1a1">je veux une platine en Video</label></li> </fieldset><br> </div> <li><input type="radio" name="choix1" value="1" onclick="radioclick('2','div5','div6');" id="radio2a"> <label for="radio2a">je veux une platine en encastré</label></li> <div id="div4" style="display:none"><br> <fieldset> Voulez vous que votre platine soit Audio ou Vidéo ? <br><br> <script type="text/javascript"> function radioclick4 (b) { document.getElementById('div7').style.display = (b!=1? 'none':'block'); document.getElementById('div8').style.display = (b!=2? 'none':'block'); } </fieldset> </script> <li><input type="radio" name="choix2" value="1" onclick="radioclick4(1);" id="radio1a2"> <label for="radio1a2">je veux une platine en Audio</label></li> <li><input type="radio" name="choix2" value="1" onclick="radioclick4(2);" id="radio1a2"> <label for="radio1a2">je veux une platine en Video</label></li> </fieldset> </div> </div> <br> <li><input type="radio" name="choix" value="2" onclick="radioclick1(2);" id="radio2"> <label for="radio2">deux platines extérieures</label></li><br> <div id="div2" style="display:none"> <fieldset> Désirez vous que votre platine soit en saillie ou en encastré ? :<br><br> <script type="text/javascript"> function radioclick5 (b) { document.getElementById('div9').style.display = (b!=1? 'none':'block'); document.getElementById('div10').style.display = (b!=2? 'none':'block'); } </script> <li><input type="radio" name="choix1" value="1" onclick="radioclick5(1);" id="radio3"> <label for="radio3">je veux une platine en saillie</label></li> <div id="div9" style="display:none"><br> <fieldset> Voulez vous que votre platine soit Audio ou Vidéo ? <br><br> <li><input type="radio" name="choix2" value="1" onclick="radioclickb2(1);" id="radio1a2"> <label for="radio1a2">je veux une platine en Audio</label></li> <li><input type="radio" name="choix2" value="2" onclick="radioclickb2(2);" id="radio1a2"> <label for="radio1a2">je veux une platine en Video</label></li> </fieldset> <br><br> </div> <li><input type="radio" name="choix1" value="2" onclick="radioclick5(2);" id="radio4"> <label for="radio4">je veux une platine en encastré</label></li> <div id="div10"style="display:none"><br> <fieldset> Voulez vous que votre platine soit Audio ou Vidéo ?<br><br> <li><input type="radio" name="choix2" value="1" onclick="radiocl(1);" id="radio1a2"> <label for="radio1a2">je veux une platine en Audio</label></li> <li><input type="radio" name="choix2" value="2" onclick="radiocl(2);" id="radio1a2"> <label for="radio1a2">je veux une platine en Video</label></li> </fieldset> </div> </fieldset> </div> </fieldset> <!-- il faut un name au bouton --> <input type="submit" name="valider" value="Valider"> <!--</form> --> </form> </body> </html>
Pour le fichier php, tu est faché avec les ; de fin d'instruction !!
il faut mettre systématiquement les {} dans les conditions if et else, on peut les omettre si une seule ligne 'instruction, mais c'est vite source d'erreur
<?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="fr"> <head> <title>Configurateur Individuel : choix des platines</title> <meta charset="utf-8"> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> /* pourqoui mettre les fonctions JS à l'int"rieur de la page dans le head c'est aussi nien, de plus avec une seulle fonction tu peut tout faaire, il suffit de lui passer les id en arguments j'ai commencé avec les premières continue dans le même esprit */ function radioclick (b,id_div1,id_div2) { document.getElementById(id_div1).style.display = (b!=1? 'none':'block'); document.getElementById(id_div2).style.display = (b!=2? 'none':'block'); } </script> </head> <body> <h1>Configurateur de platine</h1> <form method="post" action="valider.php"> <!-- <form action="<?$PHP_SELF;?>" method="post"> POURQuoI DEUX form l'une dans l'autre ???? --> <fieldset> <legend>Type d'installation</legend> <center> Vous allez maintenant choisir deux platines exterieures , vous avec le choix entre<br> en saillie ou en encastré , vous pouvez prendre les deux , veillez toutefois a ne pas choisir plus de deux platines tout type confondus </center> <!-- tes 2 boutons radio choix ont la même value ce n'est pas bon idem pour tous les autres --> <li><input type="radio" name="choix" value="1" onclick="radioclick('1','div1','div2');" id="radio1"> <label for="radio1">une platine extérieure</label></li> <div id="div1" style="display:none"> <br><fieldset> Désirez vous que votre platine soit en saillie ou en encastré ? : <br> <br> <li><input type="radio" name="choix1" value="1" onclick="radioclick('1',div3','div4');" id="radio1a"> <label for="radio1a">je veux une platine en saillie</label></li> <div id="div3" style="display:none"><br> <fieldset> Voulez vous que votre platine soit Audio ou Vidéo ?<br><br> <li><input type="radio" name="choix2" value="1" onclick="radioclick('1','div5','div6');" id="radio1a1"> <label for="radio1a1">je veux une platine en Audio</label></li> <li><input type="radio" name="choix2" value="1" onclick="radioclick('2','div1','div2');" id="radio1a1"> <label for="radio1a1">je veux une platine en Video</label></li> </fieldset><br> </div> <li><input type="radio" name="choix1" value="1" onclick="radioclick('2','div5','div6');" id="radio2a"> <label for="radio2a">je veux une platine en encastré</label></li> <div id="div4" style="display:none"><br> <fieldset> Voulez vous que votre platine soit Audio ou Vidéo ? <br><br> <script type="text/javascript"> function radioclick4 (b) { document.getElementById('div7').style.display = (b!=1? 'none':'block'); document.getElementById('div8').style.display = (b!=2? 'none':'block'); } </fieldset> </script> <li><input type="radio" name="choix2" value="1" onclick="radioclick4(1);" id="radio1a2"> <label for="radio1a2">je veux une platine en Audio</label></li> <li><input type="radio" name="choix2" value="1" onclick="radioclick4(2);" id="radio1a2"> <label for="radio1a2">je veux une platine en Video</label></li> </fieldset> </div> </div> <br> <li><input type="radio" name="choix" value="2" onclick="radioclick1(2);" id="radio2"> <label for="radio2">deux platines extérieures</label></li><br> <div id="div2" style="display:none"> <fieldset> Désirez vous que votre platine soit en saillie ou en encastré ? :<br><br> <script type="text/javascript"> function radioclick5 (b) { document.getElementById('div9').style.display = (b!=1? 'none':'block'); document.getElementById('div10').style.display = (b!=2? 'none':'block'); } </script> <li><input type="radio" name="choix1" value="1" onclick="radioclick5(1);" id="radio3"> <label for="radio3">je veux une platine en saillie</label></li> <div id="div9" style="display:none"><br> <fieldset> Voulez vous que votre platine soit Audio ou Vidéo ? <br><br> <li><input type="radio" name="choix2" value="1" onclick="radioclickb2(1);" id="radio1a2"> <label for="radio1a2">je veux une platine en Audio</label></li> <li><input type="radio" name="choix2" value="2" onclick="radioclickb2(2);" id="radio1a2"> <label for="radio1a2">je veux une platine en Video</label></li> </fieldset> <br><br> </div> <li><input type="radio" name="choix1" value="2" onclick="radioclick5(2);" id="radio4"> <label for="radio4">je veux une platine en encastré</label></li> <div id="div10"style="display:none"><br> <fieldset> Voulez vous que votre platine soit Audio ou Vidéo ?<br><br> <li><input type="radio" name="choix2" value="1" onclick="radiocl(1);" id="radio1a2"> <label for="radio1a2">je veux une platine en Audio</label></li> <li><input type="radio" name="choix2" value="2" onclick="radiocl(2);" id="radio1a2"> <label for="radio1a2">je veux une platine en Video</label></li> </fieldset> </div> </fieldset> </div> </fieldset> <!-- il faut un name au bouton --> <input type="submit" name="valider" value="Valider"> <!--</form> --> </form> </body> </html>
merci vordano , je le teste tout de suite , alain c'est gentil mais a l'emplacement du php que tu m'a corrigé tu m'a remis le html ^^