Un bug dans mon scripte

zabouzam Messages postés 27 Statut Membre -  
zabouzam Messages postés 27 Statut Membre -
bonjour j'ai créer un jeux plus ou moins en php et sa m'affiche se message d'erreur "Notice: Undefined index: nombre in C:\wamp\www\tests\plusmoins.php on line 13"

et voici le scripte

<?php
session_start(); //On initialise la session
?>
<?php

$formulaire = '<form action="plusmoins.php" method="post">
<p>
<label>Entrez un nombre de 0 à 100 :</label> <input name="nombre" type="text"/>
<input type="submit" value ="Valider !"/>
</p>
</form>';

$nombreentre = htmlentities(stripslashes($_POST['nombre']));

if (empty($_SESSION['nombremystere']))
{
$_SESSION['nombremystere'] = mt_rand(0, 100);
echo $formulaire;
}
else
{
if ($_SESSION['nombremystere'] > $nombreentre)
{
echo 'C\'est plus !';
echo $formulaire;
}
elseif ($_SESSION['nombremystere'] < $nombreentre)
{
echo 'C\'est moins !';
echo $formulaire;
}
else
{
echo 'Bravo, vous avez trouvé le nombre mystère !';
session_destroy();
}
}
?>

4 réponses

  1. louloute300 Messages postés 347 Statut Membre 29
     
    Si ligne 13 correspond à ca:

    $nombreentre = htmlentities(stripslashes($_POST['nombre']));

    Remplace par ca:

    $nombreentre = htmlentities(stripslashes(isset($_POST['nombre'])?$_POST['nombre']:""));

    Ca ira tout de suite mieux!
    0
  2. zabouzam Messages postés 27 Statut Membre
     
    merci et maintenant quand j'ouvre le scripte y a maquer c'est plus
    0
    1. louloute300 Messages postés 347 Statut Membre 29
       
      A la première utilisation, il considère que ton nombre entré est égal à 0 même si tu n'as rien entré.

      Si tu ne veux pas de ca, il faut changer ton code par ca:

      <?php
      session_start(); //On initialise la session
      ?>
      <?php

      $formulaire = '<form action="plusmoins.php" method="post">
      <p>
      <label>Entrez un nombre de 0 à 100 :</label> <input name="nombre" type="text"/>
      <input type="submit" value ="Valider !"/>
      </p>
      </form>';

      $nombreentre = htmlentities(stripslashes(isset($_POST['nombre'])?$_POST['nombre']:""));

      if ($nombreentre<>""){
      if (empty($_SESSION['nombremystere']))
      {
      $_SESSION['nombremystere'] = mt_rand(0, 100);
      echo $formulaire;
      }
      else
      {
      if ($_SESSION['nombremystere'] > $nombreentre)
      {
      echo 'C\'est plus !';
      echo $formulaire;
      }
      elseif ($_SESSION['nombremystere'] < $nombreentre)
      {
      echo 'C\'est moins !';
      echo $formulaire;
      }
      else
      {
      echo 'Bravo, vous avez trouvé le nombre mystère !';
      session_destroy();
      }
      }
      }
      ?>
      0
  3. zabouzam Messages postés 27 Statut Membre
     
    sa fonctionne pas sa m'affiche rien
    0
    1. louloute300 Messages postés 347 Statut Membre 29
       
      et avec ca:


      <?php
      session_start(); //On initialise la session
      ?>
      <?php

      $formulaire = '<form action="plusmoins.php" method="post">
      <p>
      <label>Entrez un nombre de 0 à 100 :</label> <input name="nombre" type="text"/>
      <input type="submit" value ="Valider !"/>
      </p>
      </form>';

      $nombreentre = htmlentities(stripslashes(isset($_POST['nombre'])?$_POST['nombre']:""));

      if ($nombreentre<>""){
      if (empty($_SESSION['nombremystere']))
      {

      $_SESSION['nombremystere'] = mt_rand(0, 100);
      echo $formulaire;
      }
      else
      {
      if ($nombreentre<>""){
      if ($_SESSION['nombremystere'] > $nombreentre)
      {
      echo 'C\'est plus !';
      echo $formulaire;
      }
      elseif ($_SESSION['nombremystere'] < $nombreentre)
      {
      echo 'C\'est moins !';
      echo $formulaire;
      }
      else
      {
      echo 'Bravo, vous avez trouvé le nombre mystère !';
      session_destroy();
      }
      }
      }
      ?>
      0
  4. zabouzam Messages postés 27 Statut Membre
     
    sa aussi sa fonctionne pas
    0