Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1101 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Petit jeu...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Petit jeu...

n°1560798
plop007
Posté le 15-05-2007 à 17:18:23  profilanswer
 

bonjour !
 
alors j'ai un léger problème je vais tenter de vous l'expliquer.
 
je suis entrain de réaliser un petit jeu d'énigme en php.
 
j'ai deux table, la table chat, contenant les champ, ID,PSEUDO,MESSAGE et la table enigme contenant les champ, ID,QUESTION,INDICE,REPONSE
 
le formulaire requetant la table chat, permet au utilisateur de rentrer leur pseudo et leur réponse a l'énigme et je veux ensuite réaliser un petit script qui me permettrait d'afficher le pseudo de la personne qui aurait trouver la bonne réponse et de l'afficher sur le site.
 

Code :
  1. <?php
  2.  $reponse = $row_Recordset3['REPONSE'];
  3.  $message = $row_Recordset2['MESSAGE'];
  4.  if ($reponse == $message) {
  5.  echo "<br>bravo";
  6.  echo $row_Recordset2['PSEUDO'];
  7.  }
  8.  else {
  9.  echo "<br>Personne n'a encore trouvé";
  10.  }
  11.  ?>


 
se code réagi bien sauf que, si qqun écrit un autre message par dérriére il ne m'affiche plus pseudo du gagnant et en plus il ne faut taper dans le champ message que le mot seul, il ne comprends pas si je dis : "la réponse est blablabla" il ne comprends que si je rentre "blablabla"
 
je vous joins mes requéte :
 

Code :
  1. $maxRows_Recordset2 = 10;
  2. $pageNum_Recordset2 = 0;
  3. if (isset($_GET['pageNum_Recordset2'])) {
  4.   $pageNum_Recordset2 = $_GET['pageNum_Recordset2'];
  5. }
  6. $startRow_Recordset2 = $pageNum_Recordset2 * $maxRows_Recordset2;
  7. mysql_select_db($database_bdd, $bdd);
  8. $query_Recordset2 = "SELECT * FROM chat ORDER BY ID DESC";
  9. $query_limit_Recordset2 = sprintf("%s LIMIT %d, %d", $query_Recordset2, $startRow_Recordset2, $maxRows_Recordset2);
  10. $Recordset2 = mysql_query($query_limit_Recordset2, $bdd) or die(mysql_error());
  11. $row_Recordset2 = mysql_fetch_assoc($Recordset2);
  12. if (isset($_GET['totalRows_Recordset2'])) {
  13.   $totalRows_Recordset2 = $_GET['totalRows_Recordset2'];
  14. } else {
  15.   $all_Recordset2 = mysql_query($query_Recordset2);
  16.   $totalRows_Recordset2 = mysql_num_rows($all_Recordset2);
  17. }
  18. $totalPages_Recordset2 = ceil($totalRows_Recordset2/$maxRows_Recordset2)-1;
  19. mysql_select_db($database_bdd, $bdd);
  20. $query_Recordset3 = "SELECT * FROM enigme ORDER BY ID DESC";
  21. $Recordset3 = mysql_query($query_Recordset3, $bdd) or die(mysql_error());
  22. $row_Recordset3 = mysql_fetch_assoc($Recordset3);
  23. $totalRows_Recordset3 = mysql_num_rows($Recordset3);
  24. ?>


 
merci beaucoup si vous avez eu le courage de me lire jusque là lol
 
Seb...

mood
Publicité
Posté le 15-05-2007 à 17:18:23  profilanswer
 

n°1560803
cgo2
Dum spiro spero
Posté le 15-05-2007 à 17:28:16  profilanswer
 

Si je comprend bien, tu te heurtes au problème (classique) de l'exploitation des résultats d'un sondage.
 
- Soit tu fais une QCM (i.e. choix fermés), et tu peux très facilement détecter les bonnes réponses (une table contient les réponses, identifiés par un id, l'utilisateurs coche simplement la bonne case).
 
- Soit tu fais un choix ouvert (l'utilisateur rentre ce qu'il veut), et là, c'est simplement impossible à moins d'une intervention humaine. Tu peux toujours bidouiller avec des LIKE (mysql), SOUNDEX (mysql ou php), MATCH (mysql) et compagnie, mais tu n'arriveras jamais à un résultat concluant.


---------------
When it's from Finland it's good.  - Mon blog
n°1560804
plop007
Posté le 15-05-2007 à 17:33:04  profilanswer
 

je peux pas dire dans mon code genre :
 
if ($reponse == *$message*)
 
en gros il faut que la réponse soit dans le message, et non pas que la réponse soit le message.
tu comprends ?

n°1560847
cgo2
Dum spiro spero
Posté le 15-05-2007 à 21:01:16  profilanswer
 

Ben si, comme je l'ai dis dans mon précédent message, tu peux faire une requete avec l'opérateur LIKE. Ou utiliser la fonction strstr en php.
 
Mais il n'en reste pas moins que c'est très bancal. Par exemple, si la réponse contient des accents et que j'en mets pas, ça ne fonctionnera pas.


---------------
When it's from Finland it's good.  - Mon blog
n°1561122
plop007
Posté le 16-05-2007 à 13:38:09  profilanswer
 

cgo2 a écrit :

Ben si, comme je l'ai dis dans mon précédent message, tu peux faire une requete avec l'opérateur LIKE. Ou utiliser la fonction strstr en php.
 
Mais il n'en reste pas moins que c'est très bancal. Par exemple, si la réponse contient des accents et que j'en mets pas, ça ne fonctionnera pas.


 
Ah okey !!!
je pense que j'ai une idée si je dis  

Code :
  1. <?php
  2.  $reponse = $row_Recordset3['REPONSE'];
  3.  $message = $row_Recordset2['MESSAGE'];
  4.  if ($reponse == $message) {
  5.  echo "<br>Bravo à ";
  6.  echo "<h4>";
  7.  echo $row_Recordset2['PSEUDO'];
  8.  echo "</h4>";
  9.  echo " le formulaire";
  10.  }
  11.  else {
  12.  echo "<br>Personne n'a encore trouvé";
  13.  }
  14.  ?>


 
voici mon formulaire :  
 

Code :
  1. <form method="post" name="form1" action="<?php echo $editFormAction; ?>">
  2.           <table align="center">
  3.             <tr valign="baseline">
  4.               <td align="right" valign="middle" nowrap><span class="Style1">Nom:</span></td>
  5.               <td><input type="text" name="PSEUDO" value="" size="32"></td>
  6.             </tr>
  7.             <tr valign="baseline">
  8.               <td align="right" valign="middle" nowrap><span class="Style1">Message:</span></td>
  9.               <td><textarea name="MESSAGE" cols="32" rows="2"></textarea></td>
  10.             </tr>
  11.             <tr valign="baseline">
  12.               <td nowrap align="right">&nbsp;</td>
  13.               <td><input type="submit" value="Envoyer"></td>
  14.             </tr>
  15.           </table>
  16.           <input type="hidden" name="MM_insert" value="form1">
  17.         </form>


 
je voudrai insérer mon formulaire dans le else mais je sais pas trop comment faire :/
 

n°1561124
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 16-05-2007 à 13:44:58  profilanswer
 

plop007 a écrit :

Ah okey !!!
je voudrai insérer mon formulaire dans le else mais je sais pas trop comment faire :/


c'est a dire ?


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1561137
plop007
Posté le 16-05-2007 à 14:07:51  profilanswer
 

en fait je veux afficher le formulaire que si personne n'a trouvé la réponse dans mon script al a place de  
 
#
else {
#
        echo "<br>Personne n'a encore trouvé";
#
        }
 
je voudrai :
 
#
else {
#
        echo monformulaire;
#
        }

n°1561171
plop007
Posté le 16-05-2007 à 14:33:02  profilanswer
 

ah ben non c bon j'ai en fait mis mon formulaire dans un fichier a part : formulaire.php
et j'ai mis dans mon script  
 
else {
 
include ("formulaire.php" )
}
 
et le tour est joué :)
 
maintenant faut que j'arrive à faire que la réponse soit dans le message, et non pas que la réponse soit le message.  
 
comme tu me disais cgo2 utiliser ststr mais j'ai rechercher un peu de doc et que je comprends pas du tout, qqun peut m'aider ?

n°1561218
cgo2
Dum spiro spero
Posté le 16-05-2007 à 14:58:50  profilanswer
 

En fait c'est strpos qu'il faut utiliser dans ton cas.


---------------
When it's from Finland it's good.  - Mon blog
n°1561266
plop007
Posté le 16-05-2007 à 15:56:14  profilanswer
 

j'ai éssayer de faire ça :
 
 <?php
  $reponse = $row_Recordset3['REPONSE'];
  $message = $row_Recordset2['MESSAGE'];
  $pos = strpos($message, $reponse);
  if ($reponse == $pos) {
  echo "<br>Bravo à ";
  echo "<h4>";
  echo $row_Recordset2['PSEUDO'];
  echo "</h4>";
  echo "La bonne réponse était : ";
  echo $row_Recordset3['REPONSE'];
  }
  else {
  include ("formulaire.php" );
  }
  ?>
 
mais ça ne marche pas du tout, de plus dans le manuel il dise que c pour chercher un caractére, tu peux m'en dire plus car je ne sais pas trop par où commencer :(

mood
Publicité
Posté le 16-05-2007 à 15:56:14  profilanswer
 

n°1561271
plop007
Posté le 16-05-2007 à 15:59:02  profilanswer
 

en fait c bon :)  
 
 <?php
  $reponse = $row_Recordset3['REPONSE'];
  $message = $row_Recordset2['MESSAGE'];
  if (strpos($message, $reponse)) {
  echo "<br>Bravo à ";
  echo "<h4>";
  echo $row_Recordset2['PSEUDO'];
  echo "</h4>";
  echo "La bonne réponse était : ";
  echo $row_Recordset3['REPONSE'];
  }
  else {
  include ("formulaire.php" );
  }
  ?>
 
merci beaucoup :D

n°1561312
cgo2
Dum spiro spero
Posté le 16-05-2007 à 16:51:40  profilanswer
 

Euh la documentation c'est pas juste pour faire joli hein ! Surtout le gros encart rouge nommé "AVERTISSEMENT"...  :o  
 
AVERTISSEMENT
Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE, utilisable dans une condition if simple. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.
 
http://fr3.php.net/fr/strpos


Message édité par cgo2 le 16-05-2007 à 16:52:21

---------------
When it's from Finland it's good.  - Mon blog

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Petit jeu...

 

Sujets relatifs
[MySQL/PHP] Petit soucis de renommage de fichiers proposés en downloadPetit soucis PHP et formulaires
Petit soucis avec PHP et phpmyadminPetit souci de suppression de repertoire en PHP....
petit probléme de requete MySQL avec l'utilisation d'une variable PHP[PHP] Petit problème avec les checkbox
[xml+PHP] parser xml avec php, petit pb: ça n'affiche que des chiffresPetit probleme java / php
PHP - Petit problème de cookies ...[php/javascript]petit probleme de chargement.
Plus de sujets relatifs à : [PHP] Petit jeu...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR