Problème affichage données par extraction MySQL après vérification mdp

Problème affichage données par extraction MySQL après vérification mdp - PHP - Programmation

Marsh Posté le 27-06-2006 à 02:25:21    

Bonjour,
 
j'essaye de jour avec deux tables mais je ne comprend pas le résultat du script : alosr out d'abord, le voici :
 

Code :
  1. <?
  2. if(empty($_POST))
  3. {
  4. echo "Pour acc&eacute;der &agrave; vos messages, merci de vous identifier :<br /><br />
  5. <form name=\"sauvegarde\" method=\"post\">
  6. Nom du compte : <input type=\"text\" name=\"compte\" /><br />
  7. Mot de passe : <input type=\"password\" name=\"motdepasse\" /><br /><br />
  8. <input type=\"submit\" name=\"Submit\" value=\"Envoyer\" />
  9. </form>";
  10. }
  11. else
  12. {
  13. $compte = $_POST['compte'];
  14. $motdepasse = $_POST['motdepasse'];
  15. $db = mysql_connect('localhost', '', '');
  16. mysql_select_db('hebergement',$db);
  17. $reponse1 = mysql_query("SELECT * FROM demandes WHERE compte='$compte'" );
  18. if (mysql_numrows($reponse1) == 1)
  19. {
  20. while ($donnees1 = mysql_fetch_array($reponse1) )
  21. {
  22. if ( $motdepasse == $donnees1['motdepasse'] )
  23. {
  24. $reponse2 = mysql_query("SELECT * FROM messages WHERE compte='$compte'" );
  25. while ($donnees2 = mysql_fetch_array($reponse2) )
  26. {
  27. if (mysql_numrows($reponse2) == 0)
  28. {
  29. echo "Aucun message enregistré";
  30. }
  31. else
  32. {
  33. echo "Date : ".$donnees2['date']."<br />
  34. Message :<br /><br />
  35. ".$donnees2['message']."<br /><br /><br />
  36. <hr />
  37. <br /><br /><br />";
  38. }
  39. } // Fin du while
  40. } // Fin du mdp
  41. else { echo "Mauvais mot de passe."; }
  42. } // Fin du while
  43. } // Fin de la première vérification
  44. else { echo "Compte inexistant."; }
  45. mysql_close();
  46. }
  47. ?>


 
donc il vérifie d'abord dans la table demandes si le compte et le mot de passe rentrés dans le formulaire concordent,
si c'est le cas il affiche les messages correspondant au compte dans la table "messages"
 
si il n'y a pas de messages, il l'affiche
 
pour l'instant il n'y a rien dans la table messages, or quand je fais le test avec un compte qui existe, il ne m'affiche rien,
alors que dans tous les cas il devrait m'afficher quelque chose.
 
Une idée ? (c'est la premier fois que je joue avec deux tables)
merci


Message édité par Proxounet le 27-06-2006 à 02:25:29
Reply

Marsh Posté le 27-06-2006 à 02:25:21   

Reply

Marsh Posté le 27-06-2006 à 02:51:22    

Ben là  

Code :
  1. $reponse2 = mysql_query("SELECT * FROM messages WHERE compte='$compte'" );
  2. while ($donnees2 = mysql_fetch_array($reponse2) )
  3. {
  4. if (mysql_numrows($reponse2) == 0)
  5. {
  6. echo "Aucun message enregistré";
  7. }


 
y a un soucis de logique, si il n'y a pas de messages, il n'entre même pas dans la boucle et ne risque pas de faire le test sur le mysql_num_rows situé dans la boucle.
 
il serait nettement plus utile de le mettre avant la boucle affichant les message :D

Reply

Marsh Posté le 27-06-2006 à 12:56:55    

Pas con merci ca marche :)

Reply

Sujets relatifs:

Leave a Replay

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