gestion d'une session en php

gestion d'une session en php - PHP - Programmation

Marsh Posté le 13-06-2005 à 15:03:23    

bonjour à tous,  
pouvez vous SVP apporter quelque chose de plus ou corriger mon code?  
je veux qu'après la saisie du login et mot de passe, qu' il y est une vérification si ce mot de passe et login existent bien dans la base de donnée. Donc je n 'arrive pas à mettre en place le code permettant de verifier.  
merci d'avance à tous.  
 

Code :
  1. <?php session_start ();?>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  3. <html>
  4. <head>
  5. <title>Document sans titre</title>
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  7. </head>
  8. <body>
  9. <?php
  10. //session_register("id" );  
  11. //session_register("Password" );  
  12. $id=$_POST['id'];
  13. $Password=$_POST['Password'];
  14. $id=$_SESSION['id'];
  15. $Password=$_SESSION['Password'];
  16.    
  17. //connexion à la base de donnée:  
  18. $connexion = mysql_connect("localhost","root" ) or die("erreur" );
  19. mysql_select_db("Client",$connexion);
  20.  
  21. if (empty($_POST['id'])==true || empty($_POST['Password'])==true)
  22.      {
  23.     echo "Echec de l'ouverture de session, vous devez saisir votre login et votre mot de passe";
  24.        }       
  25. // on crée la requête SQL, pour ensuite l'envoyer  
  26.      else
  27.         {
  28.         $requete = "SELECT id, Password FROM client WHERE id ='".$id."' AND Prenom='".$Password."'";
  29.         $test = mysql_query($requete,$connexion) or die('Erreur SQL !'.$requete.''.mysql_error());   
  30.         $lignes = mysql_num_rows($test);
  31.                    
  32.          if ($lignes<1)
  33.           {
  34.           $erreur="Erreur Login ou Mot de Passe incorrect";
  35.           $Password="";
  36.           return false;
  37.           }
  38.           else 
  39.              {
  40.               $res=mysql_fetch_row($result);
  41.               if ($res[0]==$id && $res[1]==$Password)
  42.                {
  43.                 return true;
  44.                }
  45.                else
  46.                   {
  47.                     $erreur="Erreur Login ou Mot de Passe incorrect";
  48.                   $Password="";
  49.                      return false;
  50.                   }
  51.              } //fin du deuxième "else"  
  52.         }//fin du premier "else"         
  53. ?>
  54. </body>
  55. </html>

Reply

Marsh Posté le 13-06-2005 à 15:03:23   

Reply

Marsh Posté le 13-06-2005 à 15:05:31    

Salut, juste une question, est ce qu'il t'affiche une erreur? (lol je pense que oui, mais c'est une parse error, ou bien autre??) merci.

Reply

Marsh Posté le 13-06-2005 à 15:05:40    

Nous dis surtout pas ce qui marche pas, ça nous donnerait p-e envie d'aller lire ton code...:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-06-2005 à 15:10:08    

lol soit pas trop méchant.. :)

Reply

Marsh Posté le 13-06-2005 à 15:13:01    

Non il n y a aucun message d'erreur.

Reply

Marsh Posté le 13-06-2005 à 15:14:17    

ahhh.. ça c'est embettant.. Et est ce que tu à essayé de faire afficher une information contenu dans ta session pour voir si elle avai bien été créer..?

Reply

Marsh Posté le 13-06-2005 à 15:15:38    

oui j ai essayé d afficher les variables de session et ca recuppere bien ces variables.

Reply

Marsh Posté le 13-06-2005 à 15:16:17    

nada71 a écrit :

Non il n y a aucun message d'erreur.


...et il se passe quoi? Qu'est-ce qui ne fonctionne pas? Essaie de nous aider à comprendre ton problème, un peu!


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-06-2005 à 15:18:59    

sinan j ai mis ça en place au lieu du code precedent.

Code :
  1. if (!isset($_POST['id']) || !isset($_POST['Password']) || empty($_POST['id']) || empty($_POST['Password']))
  2. {
  3.    echo "Echec de l'ouverture de session, vous devez saisir votre login et votre mot de passe";
  4. }
  5. // on crée la requête SQL, pour ensuite l'envoyer  
  6. else {
  7.    $requete = "SELECT id, Password FROM client WHERE id ='".$id."' AND Password='".$Password."'";
  8.    $test = mysql_query($requete,$connexion) or die('Erreur SQL !'.$requete.''.mysql_error());
  9.    $res = mysql_fetch_row($result);
  10.    if ($res && $res[0]==$id && $res[1]==$Password)
  11.    {
  12.       return true;
  13.    }
  14.    else
  15.       {
  16.       $erreur="Erreur Login ou Mot de Passe incorrect";
  17.       return false;
  18.       }
  19. }

Reply

Marsh Posté le 13-06-2005 à 15:19:44    

et il se passe quoi??

Reply

Marsh Posté le 13-06-2005 à 15:19:44   

Reply

Marsh Posté le 13-06-2005 à 15:20:41    

y a t il une faute dans le code ci dessus?
le probleme c qu il ya pas de message d erreur
merci d avance a tous.

Reply

Marsh Posté le 13-06-2005 à 15:28:40    

Citation :

...et il se passe quoi? Qu'est-ce qui ne fonctionne pas? Essaie de nous aider à comprendre ton problème, un peu


ce que je veux en fait( c'est que lorsque je saisi le mot de passe et le login) c est  
verifier que le mot de passe correspond bien au login. mais cette verification ne se fait pas.
merci ;)

Reply

Marsh Posté le 13-06-2005 à 15:31:29    

Ahh t'arrive pas à faire la vérification?? OUUU je pensais que c'était les sessions qui ne marchait pas.. Et il ne te retourne pas l'erreur "Erreur Login ou Mot de Passe incorrect" parcequ'il me parait tout bizar ton if..

Reply

Marsh Posté le 13-06-2005 à 15:33:29    

Tu te rends compte que dans ton code si tout est bon il va afficher une page blanche et c'est tout? [:petrus75]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-06-2005 à 15:33:37    

oui exactement, il n ya pas de verification.et kess tu proposes pour le if
merci.

Reply

Marsh Posté le 13-06-2005 à 15:40:22    

oui c'est vrai ça, essai de faire un chti echo pour voir si le if marche, en dessous ou au dessus du return true.. ;)

Reply

Marsh Posté le 13-06-2005 à 15:42:07    

skeye a écrit :

Tu te rends compte que dans ton code si tout est bon il va afficher une page blanche et c'est tout? [:petrus75]


oui ca m affiche bien une page blanche quand je saisi un mot de passe correspondant au login. Mais meme quand je saisi un mot de passe ne correspondant pas au login, il y a affichage d une page blanche.Donc la verification ne se fait pas. ;)

Reply

Marsh Posté le 13-06-2005 à 15:42:53    

nada71 a écrit :

oui ca m affiche bien une page blanche quand je saisi un mot de passe correspondant au login. Mais meme quand je saisi un mot de passe ne correspondant pas au login, il y a affichage d une page blanche.Donc la verification ne se fait pas. ;)


alléluia on sait enfin quel est le problème! \o/


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-06-2005 à 15:44:56    

et au fait pourquoi le champs ou tu test le password s'appel prénom, lol c'est pas très logique tout ça :) A bin non désolé je rédite, j'était ecore avec le premier code OUPS :$


Message édité par micfont999 le 13-06-2005 à 15:45:46
Reply

Marsh Posté le 13-06-2005 à 15:52:18    

micfont999 a écrit :

oui c'est vrai ça, essai de faire un chti echo pour voir si le if marche, en dessous ou au dessus du return true.. ;)


merci pour vos reponses.oui j essayé c toujours la page blanche  ;) , il n ya rien d afficher.
Je ne vois vraimen pas le probleme.

Reply

Marsh Posté le 13-06-2005 à 15:53:45    

question con: ton php affiche bien les erreurs, au moins?[:joce]


Message édité par skeye le 13-06-2005 à 15:53:51

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-06-2005 à 15:55:33    

micfont999 a écrit :

et au fait pourquoi le champs ou tu test le password s'appel prénom, lol c'est pas très logique tout ça :) A bin non désolé je rédite, j'était ecore avec le premier code OUPS :$


merci qd mm ;),c'eté bien une erreur et j l ai corrigé.

Reply

Marsh Posté le 13-06-2005 à 15:55:36    

bah non apparement ça n'affiche rien quelle dit c'est pour ça que ça me dépasse..

Reply

Marsh Posté le 13-06-2005 à 15:56:23    

micfont999 a écrit :

bah non apparement ça n'affiche rien quelle dit c'est pour ça que ça me dépasse..


Je parle de la conf de son php.ini, là, hein...savoir comment est configuré l'error_reporting...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-06-2005 à 15:57:10    

skeye a écrit :

question con: ton php affiche bien les erreurs, au moins?[:joce]


oui il les affiche bien qd y en a. :D

Reply

Marsh Posté le 13-06-2005 à 15:58:30    

Tu pourrais récapituler le code actuel de ta page?[:joce]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 13-06-2005 à 16:02:54    

Code :
  1. if (!isset($_POST['id']) || !isset($_POST['Password']) || empty($_POST['id']) || empty($_POST['Password'])) { 
  2. echo "Echec de l'ouverture de session, vous devez saisir votre login et votre mot de passe"; 
  3. } else {
  4. // on crée la requête SQL, pour ensuite l'envoyer   
  5. $requete = "SELECT id, Password FROM client WHERE id ='".$id."' AND Password='".$Password."'"; 
  6. $result = mysql_query($requete,$connexion) or die('Erreur SQL !'.$requete.''.mysql_error());
  7. if (mysql_fetch_row($result)) { 
  8.  echo "Login et Mot de Passe corrects";
  9. } else
  10.  echo "Erreur Login ou Mot de Passe incorrect";
  11. }
  12. }


 
Tu ne faisais rien de ton $erreur ;)
Et les return quand t'es pas dans une fonction, bof :)


Message édité par ratibus le 13-06-2005 à 16:03:44
Reply

Marsh Posté le 13-06-2005 à 16:05:06    

skeye a écrit :

Tu pourrais récapituler le code actuel de ta page?[:joce]


lol, il est pas tres different de celui de tt a lheur  ;) .
 

Code :
  1. <?php session_start ();?>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <title>Document sans titre</title>
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  7. </head>
  8. <body>
  9. <?php
  10. //session_register("id" );
  11. //session_register("Password" );
  12. $id=$_POST['id'];
  13. $Password=$_POST['Password'];
  14. $id=$_SESSION['id'];
  15. $Password=$_SESSION['Password'];
  16. //connexion à la base de donnée:
  17. $connexion = mysql_connect("localhost","root" ) or die("erreur" );
  18. mysql_select_db("Client",$connexion);
  19.  
  20. if (!isset($_POST['id']) || !isset($_POST['Password']) || empty($_POST['id']) || empty($_POST['Password']))
  21. {
  22.    echo "Echec de l'ouverture de session, vous devez saisir votre login et votre mot de passe";
  23. }
  24. // on crée la requête SQL, pour ensuite l'envoyer  
  25. else
  26.   {
  27.    $requete = "SELECT numclient FROM client WHERE id ='".$id."' AND Password='".$Password."'";
  28.    $test = mysql_query($requete,$connexion) or die('Erreur SQL !'.$requete.''.mysql_error());
  29.    $res = mysql_fetch_row($test);
  30.    if ($res && $res[0]==$id && $res[1]==$Password)
  31.    { 
  32.       return true;
  33.    }
  34.    else
  35.       {
  36.       $erreur="Erreur Login ou Mot de Passe incorrect";
  37.       return false;
  38.       }
  39.   }
  40. ?>
  41. </body>
  42. </html>

Reply

Marsh Posté le 13-06-2005 à 16:05:51    

skeye a écrit :

Je parle de la conf de son php.ini, là, hein...savoir comment est configuré l'error_reporting...


 
Désolé j'avai pas grillé.. lol.. :sweat:  
 

Reply

Marsh Posté le 14-06-2005 à 09:56:32    

ratibus a écrit :

Code :
  1. if (!isset($_POST['id']) || !isset($_POST['Password']) || empty($_POST['id']) || empty($_POST['Password'])) { 
  2. echo "Echec de l'ouverture de session, vous devez saisir votre login et votre mot de passe"; 
  3. } else {
  4. // on crée la requête SQL, pour ensuite l'envoyer   
  5. $requete = "SELECT id, Password FROM client WHERE id ='".$id."' AND Password='".$Password."'"; 
  6. $result = mysql_query($requete,$connexion) or die('Erreur SQL !'.$requete.''.mysql_error());
  7. if (mysql_fetch_row($result)) { 
  8.  echo "Login et Mot de Passe corrects";
  9. } else
  10.  echo "Erreur Login ou Mot de Passe incorrect";
  11. }
  12. }


 
Tu ne faisais rien de ton $erreur ;)
Et les return quand t'es pas dans une fonction, bof :)


merci pour ta réponse ratibus.ca marche tres bien avec ton code la.merci a+

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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