Probléme avec une variable

kev693 -  
 kev693 -
Bonjour,

j'ai comme un soucis avec une variable voici mon code :

<?php
$_POST['trois'] = $_POST['attaque']/$_POST['deux'] ;
if ( isset($_POST['attaque']) && isset($_POST['deux']) && is_int($_POST['attaque']) && is_int($_POST['deux'])) {
echo 'attaque final: '.$_POST['trois'].'<br>'."\n";

}
else {
echo 'vous n\'avez pas rentré un chiffres !!! ' ;
}
?>

maintenant le probléme que j'ai c'est que quand j'essaye la page sa passe directement a else et si je met +1-1
a la suite de $_POST['trois'] = $_POST['attaque']/$_POST['deux'] +1-1; voila comme ceci la je ne passe pas a else mais par contre si ej rentre a il me donnera un chiffre et je ne sais pas comment faire si vous pouver m'aider merci d'avance ^^.

4 réponses

P@t@ch0n Messages postés 603 Statut Membre 85
 
Ton code n'est pas très logique, tu te sers de $_POST['attaque'] et $_POST['deux'] et ensuite tu vérifies que ces variables existent.

Après les valeurs postées par POST ne peuvent pas être de type entier, pour cette raison que tu rentres dans ton else.

Pour vérifier qu'une variable est un nombre, sers toi de ctype_digit().
0
kev693
 
en faite j'ai pas préciser toute ma page mais juste avant je fait sa :

<div class="form" >
<form method="post" action="">
<p>
<label for="attaque">un:</label>
<input type="text" name="attaque" id="attaque" />
</p>*
<p>
<label for="deux">deux:</label>
<input type="text" name="deux" id="deux" />
</p>
<p> <input type="submit" value="essayer" />
</p>

</form></div>

<div class="repform" >

est les deux variable sont a l'interieur d'un form ^^ et je viens d'essayer avec ctype_digit mais il m'annonce cette erreur si je le force sur else en rentrant des lettres
Warning: Division by zero in C:\wamp\www\essai jeu\new essai.php on line 25
merci de votre aide .( je debute )
0
P@t@ch0n Messages postés 603 Statut Membre 85
 
De cette façon.

if( isset($_POST['attaque'], $_POST['deux']) ) {
    if( ctype_digit($_POST['attaque']) && ctype_digit($_POST['deux']) ) {
        if( $_POST['attaque'] != 0 ) {
            echo 'attaque final: '. ($_POST['attaque']/$_POST['deux']) . '<br>'."\n"; 
        }
        else
             echo 'L\'attaque ne peut valoir 0';
    }
    else
        echo 'vous n\'avez pas rentré un chiffres !!! ' ;
} 
0
kev693
 
Merci avec un grand M vraiment trop fort ^^ . j'apprend tout seul avec des livres et internet alors j'ai un peu de mal des fois et encore merci .
0