matton14
Messages postés7Date d'inscriptionvendredi 27 juin 2008StatutMembreDernière intervention16 juin 2009
-
7 juil. 2008 à 12:26
Bling 182
Messages postés510Date d'inscriptionlundi 27 novembre 2006StatutMembreDernière intervention 5 juillet 2009
-
7 juil. 2008 à 14:14
Bonjour!
Je ne comprends pas pourquoi le script suivant ne marche pas:
<HTML>
Remplis la case avec le bon nombre pour que le calcul soit correct :
<?php
$ok=0;
if (isset($a)) {
echo "Tu viens d'essayer $a+$c=$b.
\n";
if ($a+$c==$b) {
echo "C'est exact. Bravo!";
$ok=1;
} else {
echo "C'est faux, essaie encore.";
}
} else {
$b=rand(50,500);
$a=rand(0,$b);
}
if ($ok==0) {
?>
<FORM METHOD="post">
<?php echo $a;?>+=<?php echo $b;?>
">
">
</FORM>
<?php
}
echo "<CENTER><FORM METHOD="post">"
."</FORM>"
."</CENTER>\n";
?>
</HTML>
Le serveur affiche bien la question mais ne corrige pas la réponse et passe dirctement à la question suivante..
Merci pour votre aide.
JoJo738
Messages postés1267Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention29 juin 20102 7 juil. 2008 à 13:30
Hello,
@Bling 182 > "> ^^
Arf ... marcheras pas ton code ! Tu ne récupère pas les données de $a, $b, et $c ...
Il faut utiliser $_POST['a'], $_POST['b'] et $_POST['c']
Ce qui donne :
<?php
$ok = false;
if( isset($_POST['a'], $_POST['b'], $_POST['c']) )
{
$a = intval ($_POST['a']);
$b = intval($_POST['b']);
$c = intval ($_POST['c']);
// On force le type INT (numerique) grâce à la fonction intval() = protection ;)
JoJo738
Messages postés1267Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention29 juin 20102 7 juil. 2008 à 14:01
^^
J'avais mal lu ;)
Je me bats juste contre cette façon de coder ^^ (portabilité maximum pour moi). On ne code plus comme ça aujourd'hui ... si on l'active c'est (normalement) pour tester des codes (ou on utilise des extract() et Cie)
Mais je me souviens plus si register_globals est on par défaut ...
<hr />Si ma reponse te convient, merci de l'accepter !
Vous n’avez pas trouvé la réponse que vous recherchez ?