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();
}
}
?>

A voir également:

4 réponses

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
zabouzam Messages postés 27 Statut Membre
 
merci et maintenant quand j'ouvre le scripte y a maquer c'est plus
0
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
zabouzam Messages postés 27 Statut Membre
 
sa fonctionne pas sa m'affiche rien
0
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
zabouzam Messages postés 27 Statut Membre
 
sa aussi sa fonctionne pas
0