Un bug dans mon scripte

Fermé
zabouzam Messages postés 21 Date d'inscription samedi 10 juillet 2010 Statut Membre Dernière intervention 25 août 2010 - 10 août 2010 à 17:17
zabouzam Messages postés 21 Date d'inscription samedi 10 juillet 2010 Statut Membre Dernière intervention 25 août 2010 - 10 août 2010 à 20:52
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 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
10 août 2010 à 17:57
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 21 Date d'inscription samedi 10 juillet 2010 Statut Membre Dernière intervention 25 août 2010
10 août 2010 à 18:40
merci et maintenant quand j'ouvre le scripte y a maquer c'est plus
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
10 août 2010 à 18:46
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 21 Date d'inscription samedi 10 juillet 2010 Statut Membre Dernière intervention 25 août 2010
10 août 2010 à 19:02
sa fonctionne pas sa m'affiche rien
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
10 août 2010 à 19:09
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 21 Date d'inscription samedi 10 juillet 2010 Statut Membre Dernière intervention 25 août 2010
10 août 2010 à 20:52
sa aussi sa fonctionne pas
0