PHP(correction)

Résolu/Fermé
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 - 9 janv. 2006 à 20:07
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 15 janv. 2006 à 15:34
bonsoir
Quel code php je devrais insérer pour un questionnaire?
Je m'explique:
L'utilisateur a le choix entre plusieures réponses.
Ensuite, avec $_POST les données sont transferées vers la page de correction.
Comment faire pour afficher sur la page correction:
en cas de bonne réponse
"Bonne réponse, blablabla blabla blabla"
et en cas de mauvaise réponse donc
"Mauvais réponse, bla blablabla bla blablabla"

emrci
A voir également:

17 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
9 janv. 2006 à 20:21
Salut,

Qu'est ce qui te pose problème là-dedans exactement?
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
9 janv. 2006 à 20:24
eh bien c'est un questionnaire.
et ce que j'aimerais faire, c'est afficher les réponses dans la page correction.php
Donc si il a bien répondu on lui dit "bonne réponse" et si il a mal répondu "mauvaise réponse".
Le problème est que comme je n'utilisait pas ce genre de truc avant , donc j'en ai oublié une partie...
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
9 janv. 2006 à 20:29
Eh bien, la variable $_POST['bidule'] correspond au "name" du <input> que tu as utilisé dans ton formulaire, sachant que name="bidule" ici.

Avec ça plus la fonction echo et le if/elseif/else tu as tout ce qui te faut :-)
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
9 janv. 2006 à 20:58
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....
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
9 janv. 2006 à 21:05
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 "=="
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
9 janv. 2006 à 21:29
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
9 janv. 2006 à 21:59
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 :)
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
10 janv. 2006 à 20:50
<?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' ;
}

?>


voilà mon code avec des modifications, mais sans vouloir te parraitre ch....nt je crois qu'il y a encore des erreurs :-(
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
10 janv. 2006 à 21:39
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' ;
}

?>
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
11 janv. 2006 à 19:51
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?
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
13 janv. 2006 à 20:11
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...
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
13 janv. 2006 à 23:22
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;
}
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
14 janv. 2006 à 20:46
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
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 janv. 2006 à 22:37
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' ;
}
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
14 janv. 2006 à 22:52
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???
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 janv. 2006 à 23:08
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
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
14 janv. 2006 à 23:27
j'ai trouvé une erreur dans mon formulaire, mais en la corrigeant, ça ne fonctionne toujours pas : rien ne s'affiche
erreur était : 3 ième question avait aussi comme name question1
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 janv. 2006 à 23:45
En vrac:

Si tu affiches la source de ta page (formula1.php) une fois chargée dans ton navigateur, tu as quoi? Tu vois le code Php?

Est ce que tu es sûr d'avoir corrigé la bonne page? est ce que tu n'aurais pas enregistré la correction avec une exetnsion .php.txt sans faire exprès?
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55 > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
15 janv. 2006 à 00:10
oui sur et certain.
pour l'affichage du code source, voilà ce que ça donne:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Bienvenue sur le site officiel de Dj Maxou</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!-- pour que la fenetre du site prenne tout l'ecran d'office(fenetre maximisée) -->	   
<script language="JavaScript1.2">
<!--



top.window.moveTo(0,0);
if (document.all) {
top.window.resizeTo(screen.availWidth,screen.availHeight);
}
else if (document.layers||document.getElementById) {
if (top.window.outerHeight<screen.availHeight||top.window.outerWidth<screen.availWidth){
top.window.outerHeight = screen.availHeight;
top.window.outerWidth = screen.availWidth;
}
}
//-->
</script>	   





<script type="text/javascript">
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
}
//-->
</script>

<!-- pas de souslignage des liens -->
<style TYPE="text/css"> ; 
<!-- 
A:link {text-decoration: none} 
A:visited {text-decoration: none} 
A:hover {text-decoration: none} 
--> 
</style>

   
   </head>
   <link rel="stylesheet" media="screen" type="text/css" title="style1" href="Djmaxoucss.css" />
   
<body background="space.gif" link="#002db3" vlink="#cc9900" alink="#002DB3">
   
          <div id="en_tete">
<img src="C:\Documents and Settings\Propriétaire\Mes documents\Mes images\Dj Maxou\banniere2.gif"> 

<applet code="fphover.class" codebase="_fpclass/" width="123" height="20">
<param name="text" value="Accueil">
<param name="color" value="#0A0AFF">
<param name="hovercolor" value="#cc9900">
<param name="textcolor" value="#cc9900">
<param name="effect" value="reverseglow">
<param name="url" value="accueil.php" valuetype="ref">
<param name="font" value="arial">
<param name="fontstyle" value="bold">
<param name="fontsize" value="18">
<param name="hoversound" value="VotreNomDeFichier.au" valuetype="ref">
<param name="sound" value="VotreNomDeFichier.au" valuetype="ref">
</applet>
<applet code="fphover.class" codebase="_fpclass/" width="123" height="20">
<param name="text" value="Tutoriaux">
<param name="color" value="#0A0AFF">
<param name="hovercolor" value="#cc9900">
<param name="textcolor" value="#cc9900">
<param name="effect" value="reverseglow">
<param name="url" value="tutoriaux.php" valuetype="ref">
<param name="font" value="arial">
<param name="fontstyle" value="bold">
<param name="fontsize" value="18">
</applet>
<applet code="fphover.class" codebase="_fpclass/" width="123" height="20">
<param name="text" value="Videos">
<param name="color" value="#0A0AFF">
<param name="hovercolor" value="#cc9900">
<param name="textcolor" value="#cc9900">
<param name="effect" value="reverseglow">
<param name="url" value="videos.php" valuetype="ref">
<param name="font" value="arial">
<param name="fontstyle" value="bold">
<param name="fontsize" value="18">
</applet>
<applet code="fphover.class" codebase="_fpclass/" width="123" height="20">
<param name="text" value="Forum">
<param name="color" value="#0A0AFF">
<param name="hovercolor" value="#cc9900">
<param name="textcolor" value="#cc9900">
<param name="effect" value="reverseglow">
<param name="url" value="#" valuetype="ref">
<param name="font" value="arial">
<param name="fontstyle" value="bold">
<param name="fontsize" value="18">
</applet>
<applet code="fphover.class" codebase="_fpclass/" width="123" height="20">
<param name="text" value="Contact">
<param name="color" value="#0A0AFF">
<param name="hovercolor" value="#cc9900">
<param name="textcolor" value="#cc9900">
<param name="effect" value="reverseglow">
<param name="url" value="#" valuetype="ref">
<param name="font" value="arial">
<param name="fontstyle" value="bold">
<param name="fontsize" value="18">
</applet>
<applet code="fphover.class" codebase="_fpclass/" width="123" height="20">
<param name="text" value="Livre d'or">
<param name="color" value="#0A0AFF">
<param name="hovercolor" value="#cc9900">
<param name="textcolor" value="#cc9900">
<param name="effect" value="reverseglow">
<param name="url" value="#" valuetype="ref">
<param name="font" value="arial">
<param name="fontstyle" value="bold">
<param name="fontsize" value="18">
</applet>
          
       </div>

   <link rel="stylesheet" media="screen" type="text/css" title="style1" href="Djmaxoucss.css" />
       <div id="menu">        

<div class="element_menu">

<h3>Membre</h3>

<ul>
<li><a>Salut</br> agouti</a></li>
<li><a href="deconnexion.php">Déconnexion</a></li>                 				   
</ul>
     
</div>
           <div class="element_menu">
               <h3>En general</h3>
               <ul>
<dl>
				   <center><dt onmouseover="javascript:montre('smenu1');"><a href="#">Musique</a></dt></center>
			<dd id="smenu1" onmouseover="javascript:montre('smenu1');" onmouseout="javascript:montre();">
				<ul>
					<li><a href="jukebox\Jukebox.php">Techno/Dance/Trance</a></li>
					<li><a href="jukebox2\Jukebox2.php">Rap/RnB/Pop</a></li>
					<li><a href="jukebox3\Jukebox3.php">Rock</a></li>
				</ul>
			</dd>	
				   </dl>
                   <li><a href="moi.php">Moi</a></li>
                   <li><a href="http://www.white-night.net/">White-night</a></li>
               </ul>
           </div>
       
           <div class="element_menu">
               <h3>Détente</h3>
               <ul>
                   <li><a href="photos.php">Photos</a></li>
                   <li><a href="videos.php">Videos</a></li>                 				   
               </ul>
     
       </div>
           <div class="element_menu">
               <h3>Tutoriaux</h3>
               <ul>
                   <li><a href="html.php">Html</a></li>
				     <li><a href="css.php">Css</a></li>
                   <li><a href="php.php">PHP</a></li>
                   <li><a href="javascript.php">Javascript</a></li>
                    </p>
					 <li><a href="scripts.php">Scripts</a></li>
               </ul>
     
       </div>
	              <div class="element_menu">
              
               <ul>
                   <li><a href="#">Forum</a></li>
				     <li><a href="minichat.php">Chat</a></li>
					 <li><a href="#">Livre d'or</a></li>
                   <li><a href="#">Contact</a></li>	   
               </ul>
     
       </div>
	   </div>
<div id="corps">

<h3 align="center">Correction</h3>

</p> 
Quels sont les 2 languages principaux pour créer une page web?
</p>
<!--
Bonne réponse-->

</p>
Qu'est-ce qu'un navigateur?
</p>
<!--
<br />
<b>Notice</b>:  Undefined index:  question2 in <b>c:\documents and settings\propriétaire\application data\notepad++\dj maxou(en local)\correction1.php</b> on line <b>45</b><br />
<br />
<b>Notice</b>:  Undefined index:  question2 in <b>c:\documents and settings\propriétaire\application data\notepad++\dj maxou(en local)\correction1.php</b> on line <b>49</b><br />
<br />
<b>Notice</b>:  Undefined index:  question2 in <b>c:\documents and settings\propriétaire\application data\notepad++\dj maxou(en local)\correction1.php</b> on line <b>53</b><br />
Tu n\'as pas du répondu à la question-->

</p>
Comment vas-tu créer tes pages web?
</p>
<!--
<br />
<b>Notice</b>:  Undefined index:  question3 in <b>c:\documents and settings\propriétaire\application data\notepad++\dj maxou(en local)\correction1.php</b> on line <b>68</b><br />
<br />
<b>Notice</b>:  Undefined index:  question3 in <b>c:\documents and settings\propriétaire\application data\notepad++\dj maxou(en local)\correction1.php</b> on line <b>72</b><br />
<br />
<b>Notice</b>:  Undefined index:  question3 in <b>c:\documents and settings\propriétaire\application data\notepad++\dj maxou(en local)\correction1.php</b> on line <b>76</b><br />
Tu n\'as pas du répondu à la question-->

</p>
<a href="html.php">Retour au cours</a>


</div>

       <!-- Le pied de page -->

       <div id="pied_de_page">
           <p>Copyright crée par Dj Maxou 2005-2006, tous droits réservés</p>
       </div>

   </body><BGSOUND SRC="thejoker.mp3"LOOP="-1">
</html>
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
15 janv. 2006 à 00:52
ce qui donne dans le code source que ça devient un commentaire mais je ne vois pas pourquoi....
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
15 janv. 2006 à 01:01
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....
}
0
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 55
15 janv. 2006 à 01:11
ç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+
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
15 janv. 2006 à 15:34
Cool :-)
0