|
|
|
|
Salut,
Qu'est ce qui te pose problème là-dedans exactement?
|
ok mais je n'arrive plus à créer une bonne variable:
<?php
$question1 = ($_POST['reponse3'])
if ($question1 == '$_POST['reponse3']')
{
echo 'Mauvaise réponse' ;
}
elseif ( $_POST['question1'] = $_POST['reponse2'])
{
echo 'Mauvaise réponse' ;
}
else
{
echo 'Bonne réponse' ;
}
?>
La bonne réponse en question serait la réponse 3. La valeur des variables pour cette question est value='question1' réponse 2 et 1 sont fauses. Mais ça m'affiche une erreur.... |
Pas mal de soucis:
Ici: $question1 = ($_POST['reponse3']) //Pas besoin de parenthèses Ici: if ($question1 == '$_POST['reponse3']')//Pas besoin des guillemets qui entourent la variable $_POST //Essaie plutôt if ($question1 == $_POST['reponse3']) Ici: $question1 = ($_POST['reponse3']) if ($question1 == '$_POST['reponse3']') Là c'est un problème de logique, si tu mets la valeur de $_POST['question3'] dans $question1 alors forcément la comparaison d'en dessous sera toujours vraie :-) Et ici: elseif ( $_POST['question1'] = $_POST['reponse2']) Là tu utilises "=", ça veut dire que tu essaies de mettre le contenu de $_POST['reponse2'] dans $_POST['question'] Si tu veux comparer deux valeurs, il faut prendre "==" |
en essayant de suivre ta methode:
<?php
$question1 = $_POST['reponse3']
if ($question1 = $_POST['reponse1'])
{
echo 'Mauvaise réponse' ;
}
elseif ( $_POST['question1'] == $_POST['reponse2'])
{
echo 'Mauvaise réponse' ;
}
else
{
echo 'Bonne réponse' ;
}
?>
parse error on line 14 =>(je crois que c la logique que tu as voulu expliquer) |
Oui tu as oublié un point virgule au début.
Et tu utilises encore l'opérateur d'affectation "=" au début alors que tu veux omparer :)
|
j'ai essayé d'une autre façon, mais ça foire toujours :
<?php
if ($question1 = $_POST['reponse1'])
{
echo 'Mauvaise réponse' ;
}
elseif ( $_POST['question1'] == $_POST['reponse2']) ;
{
echo 'Mauvaise réponse' ;
}
elseif ( $_POST['question1'] == $_POST['reponse3']) ;
{
echo 'Bonne réponse' ;
}
else
{
echo 'Tu n\'as pas du répondre à la question' ;
}
?> |
Tu utilises encore le "=" au lieu du "==" pour la comparaison....Je ne comprends toujours pas pourquoi :-)
Tu pourrais mettre la source de ton formulaire html? |
oui bien sur :
<form method="post" action="correction1.php"> </p> Quels sont les 2 languages principaux pour créer une page web? </p> <input type="radio" name="question1" value="reponse1" />Le html et notepad</br> <input type="radio" name="question1" value="reponse2" />Le html et le javascript</br> <input type="radio" name="question1" value="reponse3" />Le html et le css </p> Qu'est-ce qu'un navigateur? </p> <input type="radio" name="question2" value="reponse1" />Un programme utilisé pour écrire des pages sur le web</br> <input type="radio" name="question2" value="reponse2" />Un programme utilisé pour lire des pages sur le web</br> <input type="radio" name="question2" value="reponse3" />Un type qui s'est perdu en mer </p> Comment vas-tu créer tes pages web? </p> <input type="radio" name="question1" value="reponse1" />En utilisant notepad</br> <input type="radio" name="question1" value="reponse2" />En utilisant mozilla firefox</br> <input type="radio" name="question1" value="reponse3" />En claquant des doigts </p> <center><input type="submit" value="Correction" /></center> </form> c'est le formulaire en entier, je n'ai pas changé une virgule... |
Ok, alors voici une petite correction pour tester ta première question:
<?php
if ($_POST['question1'] == 'reponse1')
{
echo 'Mauvaise réponse' ;
}
elseif ( $_POST['question1'] == 'reponse2') ;
{
echo 'Mauvaise réponse' ;
}
elseif ( $_POST['question1'] == 'reponse3') ;
{
echo 'Bonne réponse' ;
}
else
{
echo 'Tu n\'as pas du répondu à la question' ;
}
Plus court encore avec switch: switch ($_POST['question1'] )
{
case 'reponse1':
echo 'Raté';
break;
case 'reponse2':
echo 'rate';
break;
case 'reponse3':
echo "Ouii c'est ça";
break;
default:
echo 'reponse vide'; /*ceci dit je ne sais pas si ta variable post existera si rien n'est coché.*/
break;
}
|
merci, mais avec la première solution, il y a : Parse error: parse error in c:\documents and settings\propriétaire\application data\notepad++\monsite(en local)\correction1.php on line 23 avec switch, j'avais déjà essayé mais la rien ne s'affiche |
merci, mais avec la première solution, il y a :
Parse error: parse error in c:\documents and settings\propriétaire\application data\notepad++\monsite(en local)\correction1.php on line 23 Je corrige, j'avais mis des ";" en trop. <?php
if ($_POST['question1'] == 'reponse1')
{
echo 'Mauvaise réponse' ;
}
elseif ( $_POST['question1'] == 'reponse2')
{
echo 'Mauvaise réponse' ;
}
elseif ( $_POST['question1'] == 'reponse3')
{
echo 'Bonne réponse' ;
}
else
{
echo 'Tu n\'as pas du répondu à la question' ;
} |
oui j'avais remarqué.ça arrivemême au meilleur de se tromper :-)
la c bien, il n'y a plus d'erreur, mais la où il devrait y avoir marqué la réponse... il n'y a rien.comment ça se fait??? |
mais la où il devrait y avoir marqué la réponse... il n'y a rien.comment ça se fait???
Là je ne sais pas. Je viens de le tester et ça marche très bien avec ton script html et la ligne des if/elseif respectivement dans deux fichiers séparés où le fichier php s'apelle correction1.php
|
ce qui donne dans le code source que ça devient un commentaire mais je ne vois pas pourquoi.... |
Moi non plus je ne vois pas pourquoi, mais au moins ça s'affiche quelque part, c'est rassurant :-)
Si tu as des erreurs d'index pour les autres questions, c'est pas parce que rien n'a été coché. Tu peux tester si tu une question à été cochée avec par exemple if(isset($_POST['question1'])){
//La case à été cochée....
} |
ça y est j'ai trouvé il y avait des balises pour mettre des commentaires autour du php.j'aurais du le voir plus tôt.je ne sais plus pourquoi j'avais mis ça là mais je les retire.
merci pour ton aide a+ |
Cool :-) |
Résultats pour PHP(correction)
Résultats pour PHP(correction)