PHP formulaire multipication

Fermé
Jeremy - 18 mai 2009 à 19:34
 Jeremy - 18 mai 2009 à 20:37
Bonjour,
alors voila je doit faire un formulaire (juste une case) pour vérifier si l'utilisateur connait ses tables de multiplication. On prend deux nombres aléatoires et on demande le résultat si c'est faux on le dit et si c'est vrai aussi !!

Donc moi mon problème c'est que on me demande 2*3 si je met 6 sa me met faux et si le orchain calcul est 3*2 sa mettra vrai , sa verifi le calcul d'apres en fait !!

si vous pouvez m'aidez merci

<?php
$nbr1= rand (1,10);
$nbr2= rand (1,10);
$res= $nbr1 * $nbr2;

?>

<form NAME="mul" method="post" >
<p>

<label for="resultat">

</label>
<?php echo $nbr1 ; echo '*';echo $nbr2 ?> =
<input type="text" name="resultat" id="resultat"


/>

<?php

if (isset($_POST['resultat']))
{
if ($_POST['resultat'] == '')
{
echo '<br/>veuillez entrez une valeur';
}
elseif ($_POST['resultat'] == $res)
{
echo '<br/>Bravo';
}
else
{
echo '<br/>Faux';
}
}

?>

<input type="submit" value="Vérifier"/>
</p>
</form>

3 réponses

arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
18 mai 2009 à 20:22
Salut,
C'est bien de mettre un code comme ça mais il faudrai encore que tu nous dises là où tu bloques, tes éventuelles messages d'erreur ou même que tu expliques simplement ce qui se passe au moment ou tu cliques sur le bouton.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
18 mai 2009 à 20:32
Normal quand tu affiches les chioffres la première fois php te les fournis par rand, mais ensuite lorsque le script php est appelé pour vérification les chiffres fournis par le rand ne sont plus les mêmes. Il faut donc les "garder" en mémoire grace au champ caché hidden

<?php
$nbr1= rand (1,10);
$nbr2= rand (1,10);
$res= $nbr1 * $nbr2;

?>

<form NAME="mul" method="post" >
<p>

<label for="resultat">

</label>
<?php
 echo $nbr1 ; 
 echo '*';
 echo $nbr2 
 ?> =
<input type="text" name="resultat" id="resultat" />
<input type="hidden" name="res_attendu" value="<?php echo $res; ?>" />
<?php

if (isset($_POST['resultat']))
{
	$res_attendu=$_POST['res_attendu']; // on récupére la valeur du champ caché
	if ($_POST['resultat'] == '')
	{
		echo '<br/>veuillez entrez une valeur';
	}
	else 
	{
		if($_POST['resultat']==$res_attendu){
			echo '<br/>Bravo';
		}
		else
		{
			echo '<br/>Faux';
		}
	}
}
?>

<input type="submit" value="Vérifier"/>
</p>
</form>
0
ok merci alain_42, en effet sa marche , je ne connaissait pas les champs cachés pour garder en mémoire .

merci
0