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 ^^.
Configuration: Indeterminable Indeterminable

4 réponses

  1. 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
  2. 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
  3. 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
  4. 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