Problème pour mise en place d'un jeux en php

Problème pour mise en place d'un jeux en php - PHP - Programmation

Marsh Posté le 31-03-2012 à 16:41:28    

Bonjour,
Voilà je voudrai faire un mini jeux avec une base de donnée qui contiendra 2 tables une joueur ( avec pseudo ,id joueur, et score) et jeux ( id_question, question, réponse) donc j'ai crée une page index avec la possibilité de crée un pseudo  

Code :
  1. <html>   
  2. <title>Jeux de mots</title>
  3. <script type="text/javascript">
  4. function valider(){
  5. // si la valeur du champ prenom est non vide
  6.     if(document.formSaisie.prenom.value != "" ) {
  7. // les données sont ok, on peut envoyer le formulaire     
  8.     return true;
  9.     }
  10.     else {
  11. // sinon on affiche un message
  12. alert("Saisissez le pseudo" );
  13. // et on indique de ne pas envoyer le formulaire
  14. return false;
  15.     }
  16. }
  17. </script>
  18. </head>
  19. <body>
  20.     <div id="page">
  21. <form method='POST' action="valid_pseudo.php" onsubmit="return valider();" name="form_pseudo">
  22.     <p>
  23.  Pseudo:<br/>
  24.  <input name="pseudo" size="10" value="" type="text"/>
  25.     </p>
  26.     <input name="Valider" value="Valider" type="submit"/>
  27. </form>
  28.     </div>
  29.    
  30. </body>
  31. </html>


 
Voici la page valide_pseudo.php
 

Code :
  1. <html>   
  2. <title>Jeux de mots</title>
  3. </head>
  4. <body>
  5.     <div id="page">
  6. <form method='POST' action="valid_pseudo.php">;
  7.             <?php
  8.                 include ("config.inc.php" );
  9.                 $cx=mysql_connect("localhost",USER,PASS);
  10.                 if($cx == 0)
  11.                 {
  12.                         echo "<h1>ERREUR</h1>";
  13.                         exit;
  14.                 }
  15.                 if(isset($_POST['pseudo']))
  16.                 {
  17.                         $pseudo= $_POST['pseudo'];
  18.                 }
  19.                 $test=mysql_select_db(BASE);
  20.                 $req_verif_pseudo="SELECT * FROM joueur";
  21.                 $result_verif_pseudo=mysql_query($req_verif_pseudo);
  22.                 $nb_art= mysql_numrows($result_verif_pseudo);
  23.                 $pseudo_exist=false;
  24.                 $i=0;
  25.                 while($i<=$nb_art || $pseudo_exist!=true)
  26.                 {
  27.                         $data= mysql_fetch_object($result_verif_pseudo);
  28.                         if($data == $pseudo){
  29.                             $pseudo_exist=true;
  30.                             echo"Le pseudo est déjà pris. vous allez être redirigé sur la page de choix du pseudo.";
  31.                         }
  32.                         $i++;
  33.                 }
  34.                 if($pseudo_exist==true)
  35.                 {
  36.                     header('Location: index.html');
  37.                 }
  38.                 $req_ajout_pseudo="INSERT INTO joueur(joueur_pseudo,joueur_score) VALUES ('$pseudo',0)";
  39.                 $result_ajout_pseudo=mysql_query($req_ajout_pseudo);             
  40.                
  41.             ?>
  42.     </div>
  43.    
  44. </body>
  45. </html>


 
Mais j'ai cette erreur qui s'affiche :/  
 

Citation :

; Fatal error: Maximum execution time of 30 seconds exceeded in public_html/jeux/valid_pseudo.php on line 31


 
et je voie pas ou est mon erreur :s


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
Reply

Marsh Posté le 31-03-2012 à 16:41:28   

Reply

Marsh Posté le 01-04-2012 à 12:01:08    

up :D


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
Reply

Marsh Posté le 01-04-2012 à 13:10:07    

Ta une boucle infinie quelque part
 
C'est dans la boucle :
while($i<=$nb_art || $pseudo_exist!=true)
{
...
}

Reply

Marsh Posté le 01-04-2012 à 14:35:05    

ben elle devrait s'arreter quand i <= $nb_art non?


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
Reply

Marsh Posté le 01-04-2012 à 16:55:31    

Oui, mais je suis pas trop fan des  boucle avec plusieurs conditions, fait plutot un truc comme ca :
 
 

Code :
  1. while($i<=$nb_art)
  2. {
  3.     $data= mysql_fetch_object($result_verif_pseudo);
  4.     if($data == $pseudo)
  5.     {
  6.         echo"Le pseudo est déjà pris. vous allez être redirigé sur la page de choix du pseudo.";
  7.         header('Location: index.html');
  8.         break;
  9.     }
  10.     $i++;
  11. }


 
Moi je trouve ca plus joli... Apres je connai pas le reste de ton code...


Message édité par GordonF_69 le 01-04-2012 à 16:57:30
Reply

Marsh Posté le 01-04-2012 à 23:05:36    

Ben pour l'instant il y as que ça :p! Mais ouais un break j 'y ai pensé  mais je me demandé si en php ça marchais aussi :)


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
Reply

Marsh Posté le 01-04-2012 à 23:18:46    

Le problème n'est pas dans la condition de la boucle plutôt ? :??:
J'aurais mis ça :
 

Code :
  1. while( $i <= $nb_art && $pseudo_exist != true )


---------------
And in the end, the love you take is equal to the love you make
Reply

Marsh Posté le 01-04-2012 à 23:36:51    

LE && est un et ou un ou? je m'en rappelle plus?
 
Mais sinon ça marche avec le break


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
Reply

Marsh Posté le 02-04-2012 à 00:23:41    

wazany a écrit :

LE && est un et ou un ou? je m'en rappelle plus?
 
Mais sinon ça marche avec le break


Le && c'est pour le ET, et || c'est pour le OU ;)


---------------
And in the end, the love you take is equal to the love you make
Reply

Marsh Posté le 02-04-2012 à 09:33:48    

Donc il n'y as pas de soucis normalement vue que c'est soit i<=nb_art ou $pseudo_exist!=true


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
Reply

Marsh Posté le 02-04-2012 à 09:33:48   

Reply

Marsh Posté le 02-04-2012 à 15:06:13    

Hum j'avais oublié de faire le $data->joueur_pseudo pour la comparaison j'essaie de faire une variable de session mais elle veux pas se récupéré :/
 
j'ai aussi crée une nouvelle page jeux et j'ai mis l'index.html en php
 

Code :
  1. <!DOCTYPE HTML!>
  2. <?php session_start(); ?>
  3. <html>   
  4. <title>Jeux</title>
  5. <script type="text/javascript">
  6. function valider(){
  7. // si la valeur du champ prenom est non vide
  8.     if(document.formSaisie.prenom.value != "" ) {
  9. // les données sont ok, on peut envoyer le formulaire     
  10.     return true;
  11.     }
  12.     else {
  13. // sinon on affiche un message
  14. alert("Saisissez le pseudo" );
  15. // et on indique de ne pas envoyer le formulaire
  16. return false;
  17.     }
  18. }
  19. </script>
  20. </head>
  21. <body>
  22.     <div id="page">
  23.     <p>
  24.  <?php
  25.      include ("config.inc.php" );
  26.      $cx=mysql_connect("localhost",USER,PASS);
  27.      if($cx == 0)
  28.      {
  29.       echo "<h1>ERREUR</h1>";
  30.       exit;
  31.      }
  32.      if(isset($_POST['pseudo_exist']))
  33.      {
  34.       $pseudo_exist= $_POST['pseudo_exist'];
  35.      }
  36.      echo $pseudo_exist;
  37.      if($pseudo_exist == 1)
  38.      {
  39.   echo"Le pseudo est déjà pris. vous allez être redirigé sur la page de choix du pseudo.";
  40.      }
  41.     
  42.  ?>
  43.  Pseudo:<br/>
  44.  <input name="pseudo" size="10" value="" type="text"/>
  45.     </p>
  46.     <input name="Valider" value="Valider" type="submit"/>
  47. </form>
  48.     </div>
  49.    
  50. </body>
  51. </html>


 
 

Code :
  1. <!DOCTYPE HTML!>
  2. <?php session_start(); ?>
  3. <html>   
  4. <title>Jeux</title>
  5. </head>
  6. <body>
  7.     <div id="page">
  8. <form method='POST' action="valid_pseudo.php">;
  9.             <?php
  10.                 include ("config.inc.php" );
  11.                 $cx=mysql_connect("localhost",USER,PASS);
  12.                 if($cx == 0)
  13.                 {
  14.                         echo "<h1>ERREUR</h1>";
  15.                         exit;
  16.                 }
  17.                 if(isset($_POST['pseudo']))
  18.                 {
  19.                         $pseudo= $_POST['pseudo'];
  20.                 }
  21.                 $test=mysql_select_db(BASE);
  22.                 $req_verif_pseudo="SELECT * FROM joueur";
  23.                 $result_verif_pseudo=mysql_query($req_verif_pseudo);
  24.                 $nb_art= mysql_numrows($result_verif_pseudo);
  25.                 $pseudo_exist=false;
  26.                 $i=0;
  27.  echo "La donnee pseudo =".$pseudo."<br />";
  28.                 while($i<=$nb_art)
  29.                 {
  30.                         $data= mysql_fetch_object($result_verif_pseudo);
  31.   if($data->joueur_pseudo == $pseudo){
  32.                             $pseudo_exist=true;
  33.                             break;
  34.                         }
  35.                         $i++;
  36.                 }
  37.                 if($pseudo_exist==true)
  38.                 {
  39.      $_POST['pseudo_exist'] = 1;
  40.                     header('Location: index.php');
  41.                 }
  42.  else
  43.  {
  44.  $_SESSION['pseudo'] = $pseudo ;
  45.                 $req_ajout_pseudo="INSERT INTO joueur(joueur_pseudo,joueur_score) VALUES ('$pseudo',0)";
  46.                 $result_ajout_pseudo=mysql_query($req_ajout_pseudo);
  47.  header('Location: jeux.php');
  48.  }
  49.            
  50.  echo $lepseudo;
  51.             ?>
  52.     </div>
  53.    
  54. </body>
  55. </html>


 
 
et jeux.php
 

Code :
  1. <!DOCTYPE HTML!>
  2. <?php session_start(); ?>
  3. <html>   
  4. <title>Jeux de mots</title>
  5. </head>
  6. <body>
  7.     <div id="page">
  8. <form method='POST' action="jeux.php">
  9.             <?php
  10.                 include ("config.inc.php" );
  11.                 $cx=mysql_connect("localhost",USER,PASS);
  12.                 if($cx == 0)
  13.                 {
  14.                         echo "<h1>ERREUR</h1>";
  15.                         exit;
  16.                 }
  17.                 if(isset($_POST['pseudo']))
  18.                 {
  19.                         $pseudo= $_POST['pseudo'];
  20.                 }
  21.                 $test=mysql_select_db(BASE);
  22.                 $req_question="SELECT * FROM jeux";
  23.                 $result_question=mysql_query($req_question);
  24.                 $nb_qst= mysql_numrows($result_question);
  25.  echo "pseudo =".$pseudo."<br />";
  26.                 for($i=0 ; $i<$nb_qst ; $i++)
  27.                 {
  28.   echo "<p>";
  29.                         $data= mysql_fetch_object($result_question);
  30.   echo $data->jeux_question."<br/>";
  31.   echo "<INPUT type='text' value='Entrez la réponse' name='reponse".$i."'>";
  32.   echo"</p>";
  33.                 }
  34.             ?>
  35.     <input type="submit" value="Envoyer">
  36. </form>
  37.     </div>
  38.    
  39. </body>
  40. </html>


 
Le pseudo s'affiche pas :/


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
Reply

Marsh Posté le 02-04-2012 à 19:11:56    

Bon j'ai réussi a faire les sessions il me reste plus qu'a faire fonctionner la partie reponse.php qui va récupéré toute les réponse et les comparé à celle rentré  :)!! Pui pour finir je ferais un tableaux de score en page index j'en voie presque le bout ^^  
 
 
Petite question pour vous le pseudo c'est pas trop grave si il y as des doublons? Sinon je rajoute une colonne date au joueur :)


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
Reply

Marsh Posté le 03-04-2012 à 14:13:51    

Petit soucis avec la commande mysql_num_rows  
 

Code :
  1. $test=mysql_select_db(BASE);
  2.  $req_rp="SELECT * FROM jeux " ;
  3.  $res_rep=mysql_query($req_rep);
  4.  $nb_qst= mysql_num_rows($res_rep);


 
et j'ai cette erreur;

Citation :

Warning: mysql_numrows() expects parameter 1 to be resource, boolean given in


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
Reply

Marsh Posté le 04-04-2012 à 14:43:11    

C'est pas $req_rep qu'il faut mettre en param plutôt que $res_rep :??:


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
Reply

Marsh Posté le 04-04-2012 à 16:12:13    

j'ai modifier tout le système et la ça marche comme je veux :D


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed