Page 1 sur 1

Création d'un site de loterie

Posté : 20 févr. 2020, 21:32
par JokerXgame78
Bonjour à tous,

Pour le cours de Sciences numériques et informatiques, je dois coder un site qui sera évalué. J ai décidé de coder un site e commerce.
J ai décider de faire une page loterie ou je suis supposé faire gagner des lots. J ai donc voulu coder un système de random number où l'utilisateur saisi un nombre entre 1 et 100. Si son nombre est égal au nombre tiré au sort, un simple echo lui disant qu il a gagné apparait, sinon un echo lui dit le contraire.

OR, j ai un problème avec mon php et je ne vois pas du tout où est l erreur. Voici le formulaire html et le script php:
<div id="lesjeuxdehasard">

<div>

    <div>

      <h2> Tentez de gagner une lamborghini veneno !</h2>
      <p>Saisissez un nombre entre 1 et 100. Si votre nombre est tiré au sort, vous avez gagné.</p>
      
      <div>

      <form method="post" action="hasard.php">
 
      <input type="text" name="votrenbre1">  <input type="submit" name="submit1" value="250 000$">

      </form>

    </div>

  </div>
    



    <div>

        <h2> Tentez de gagner un iPhone 11 Pro !</h2>
        <p>Saisissez un nombre entre 1 et 100. Si votre nombre est tiré au sort, vous avez gagné.</p>
   
        <div>

            <form method="post" action="hasard.php">
 
            <input type="text" name="votrenbre2">  <input type="submit" name="submit2" value="350$">

            </form>

        </div>

    </div>

    <div>

        <h2> Tentez de gagner un code promo de 75% !</h2>
        <p>Saisissez un nombre entre 1 et 100. Si votre nombre est tiré au sort, vous avez gagné.</p>
   
        <div>

            <form method="post" action="hasard.php">
 
            <input type="text" name="votrenbre3">  <input type="submit" name="submit3" value="200$">

            </form>

        </div>

    </div>

    <div>

        <h2> Tentez de gagner un code promo de 50% !</h2>
        <p>Saisissez un nombre entre 1 et 100. Si votre nombre est tiré au sort, vous avez gagné.</p>
   
        <div>

        <form method="post" action="hasard.php">
 
        <input type="text" name="votrenbre4">  <input type="submit" name="submit4" value="150$">

        </form>

        </div>

    </div>

</div>

<?php

if (isset($_POST["submit1"])) {

      $randomnumber1  = rand(0, 100)

      if ((isset($_POST["votrenbre1"]))==($randomnumber1)){

      echo " Félicitaions: Vous avez remporter une lamborghini veneno !"

      else{

      echo "Presque ! Vous aurez sûrement plus de chance la prochaine fois !"

      }

      }

}

if (isset($_POST["submit2"])) {

      $randomnumber2  = rand(0, 100)

      if ((isset($_POST["votrenbre2"])==($randomnumber2)){

      echo " Félicitaions: Vous avez remporter un iPhone 11 !"

      else{

      echo "Presque ! Vous aurez sûrement plus de chance la prochaine fois !"

      }

      }

}

if (isset($_POST["submit3"])) {

      $randomnumber3  = rand(0, 100)
      
      if ((isset($_POST["votrenbre3"])==($randomnumber3)){

      echo " Félicitaions: Vous avez remporter un code promo de 75% !"

      else{

      echo "Presque ! Vous aurez sûrement plus de chance la prochaine fois !"

      }

      }


}

if (isset($_POST["submit4"])) {

      $randomnumber4  = rand(0, 100)      

      if ((isset($_POST["votrenbre4"])==($randomnumber4)){

      echo " Félicitaions: Vous avez remporter un code promo de 50% !"

      else{

      echo "Presque ! Vous aurez sûrement plus de chance la prochaine fois !"

      }

      }

}

?>
Selon wampserver, le problème vient des if testant si le nombre saisi est égal au random number. Quelqu'un peut-il m'aider ?
PS: Si vous avez le moindre conseil ou une remarque quelconque, je suis preneur !

Re: Création d'un site de loterie

Posté : 20 févr. 2020, 23:27
par Saian
Bonsoir, les testes ne sont pas bons
if ((isset($_POST["votrenbre1"]))==($randomnumber1)){
ça devrait être écris
if (isset($_POST["votrenbre1"]) && $_POST["votrenbre1"] == $randomnumber1){// voir === au lieu de == pour une égalité stricte
car isset($_POST["votrenbre1"]) retourne un booléen true ou false et donc ton teste résulte en un true ou false == un numéro.

Re: Création d'un site de loterie

Posté : 21 févr. 2020, 00:09
par JokerXgame78
Bonsoir, les testes ne sont pas bons
if ((isset($_POST["votrenbre1"]))==($randomnumber1)){
ça devrait être écris
if (isset($_POST["votrenbre1"]) && $_POST["votrenbre1"] == $randomnumber1){// voir === au lieu de == pour une égalité stricte
car isset($_POST["votrenbre1"]) retourne un booléen true ou false et donc ton teste résulte en un true ou false == un numéro.
Bonsoir et merci de ton aide !
Malheureusement j'ai essayé avec ta rectification mais ça ne fonctionne toujours pas #-o et wamp m'indique que l'erreur se trouve toujours sur cette ligne...
Je ne comprends vraiment pas la cause du problème !

Re: Création d'un site de loterie

Posté : 21 févr. 2020, 00:24
par Saian
Selon wampserver, le problème vient des if testant si le nombre saisi est égal au random number.
Quel est le message d'erreur précisément ? si tu veux comprendre la cause, il faut déjà comprendre le message d'erreur.

Re: Création d'un site de loterie

Posté : 21 févr. 2020, 01:15
par j_saisrien
Salut joker

En fait, tu as beaucoup d'erreurs. Tu as oublié les " ; " (point virgule) un peu partout.
C'est indispensable en php.

Ensuite tu as des accolades aux mauvais endroits.

a+

Re: Création d'un site de loterie

Posté : 21 févr. 2020, 01:52
par j_saisrien
Re-salut

Une fois ces petites erreurs corrigées j'ai testé ton jeu. Je gagne à tous les coups.
Il semble y avoir une faute dans ta condition if.

Tu me dois donc plusieurs Lamborghinis veneno présentement.
Mais je vais me contenter d'une seule ( livraison gratuite bien sûr). :D

a+

Re: Création d'un site de loterie

Posté : 21 févr. 2020, 14:11
par JokerXgame78
Re-salut

Une fois ces petites erreurs corrigées j'ai testé ton jeu. Je gagne à tous les coups.
Il semble y avoir une faute dans ta condition if.

Tu me dois donc plusieurs Lamborghinis veneno présentement.
Mais je vais me contenter d'une seule ( livraison gratuite bien sûr). :D

a+
Bonjour,
Effectivement, après avoir mis des points virgules et placé les accolades au bon endroit, cela fonctionne !
Par contre, je ne fais que perdre contrairement à toi XD, tu sembles avoir beaucoup de chance. Tu recevras ta lambo dès que possible :D.
Je tiens à remercier tous ceux qui m'ont aidé, ça fait vraiment plaisir !
Merci de votre réactivité et bonne continuation.

Re: Création d'un site de loterie

Posté : 21 févr. 2020, 14:19
par Saian
Par contre, je ne fais que perdre contrairement à toi XD, tu sembles avoir beaucoup de chance.
Non il n'a pas beaucoup de chance, c'est juste les testes qui n'étaient pas bon et auxquels il n'a pas du intégrer la correction :P

Tous ces testes sont vrais :
true == 1;
true == 33;
true == 99;

Le seul cas où il aurait pu perdre est true == 0, soit une probabilité de 1/101 ^^