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

  FORUM HardWare.fr
  Programmation
  PHP

  gestion d'une session en php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

gestion d'une session en php

n°1118371
nada71
Posté le 13-06-2005 à 15:03:23  profilanswer
 

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>

mood
Publicité
Posté le 13-06-2005 à 15:03:23  profilanswer
 

n°1118374
micfont999
Simplement Moi
Posté le 13-06-2005 à 15:05:31  profilanswer
 

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.

n°1118375
skeye
Posté le 13-06-2005 à 15:05:40  profilanswer
 

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 -
n°1118379
micfont999
Simplement Moi
Posté le 13-06-2005 à 15:10:08  profilanswer
 

lol soit pas trop méchant.. :)

n°1118386
nada71
Posté le 13-06-2005 à 15:13:01  profilanswer
 

Non il n y a aucun message d'erreur.

n°1118389
micfont999
Simplement Moi
Posté le 13-06-2005 à 15:14:17  profilanswer
 

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..?

n°1118391
nada71
Posté le 13-06-2005 à 15:15:38  profilanswer
 

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

n°1118393
skeye
Posté le 13-06-2005 à 15:16:17  profilanswer
 

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 -
n°1118398
nada71
Posté le 13-06-2005 à 15:18:59  profilanswer
 

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. }

n°1118401
micfont999
Simplement Moi
Posté le 13-06-2005 à 15:19:44  profilanswer
 

et il se passe quoi??

mood
Publicité
Posté le 13-06-2005 à 15:19:44  profilanswer
 

n°1118403
nada71
Posté le 13-06-2005 à 15:20:41  profilanswer
 

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.

n°1118422
nada71
Posté le 13-06-2005 à 15:28:40  profilanswer
 

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 ;)

n°1118426
micfont999
Simplement Moi
Posté le 13-06-2005 à 15:31:29  profilanswer
 

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..

n°1118433
skeye
Posté le 13-06-2005 à 15:33:29  profilanswer
 

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 -
n°1118434
nada71
Posté le 13-06-2005 à 15:33:37  profilanswer
 

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

n°1118449
micfont999
Simplement Moi
Posté le 13-06-2005 à 15:40:22  profilanswer
 

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.. ;)

n°1118451
nada71
Posté le 13-06-2005 à 15:42:07  profilanswer
 

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. ;)

n°1118455
skeye
Posté le 13-06-2005 à 15:42:53  profilanswer
 

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 -
n°1118458
micfont999
Simplement Moi
Posté le 13-06-2005 à 15:44:56  profilanswer
 

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
n°1118472
nada71
Posté le 13-06-2005 à 15:52:18  profilanswer
 

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.

n°1118474
skeye
Posté le 13-06-2005 à 15:53:45  profilanswer
 

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 -
n°1118477
nada71
Posté le 13-06-2005 à 15:55:33  profilanswer
 

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é.

n°1118478
micfont999
Simplement Moi
Posté le 13-06-2005 à 15:55:36  profilanswer
 

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

n°1118481
skeye
Posté le 13-06-2005 à 15:56:23  profilanswer
 

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 -
n°1118483
nada71
Posté le 13-06-2005 à 15:57:10  profilanswer
 

skeye a écrit :

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


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

n°1118487
skeye
Posté le 13-06-2005 à 15:58:30  profilanswer
 

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


---------------
Can't buy what I want because it's free -
n°1118492
ratibus
Posté le 13-06-2005 à 16:02:54  profilanswer
 

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
n°1118495
nada71
Posté le 13-06-2005 à 16:05:06  profilanswer
 

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>

n°1118497
micfont999
Simplement Moi
Posté le 13-06-2005 à 16:05:51  profilanswer
 

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:  
 

n°1119139
nada71
Posté le 14-06-2005 à 09:56:32  profilanswer
 

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+

mood
Publicité
Posté le   profilanswer
 


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

  gestion d'une session en php

 

Sujets relatifs
[IIS / ASP] Transférer une session d'un domaine à l'autre -même site-probleme de session
Gestion des ports en VBSNon-persistance d'une session sauf après avoir changer les options IE
[PHP] Pb gestion de session couplée PHPBBe-commerce : gestion d'un caddie avec session php
Session et gestion des utilisateursGestion de session et persistance entre VB.Net et un Service WEB [HARD
E-Commerce : Gestion de caddie + Session sécurisée + ...[ASP] Gestion des variables de Session
Plus de sujets relatifs à : gestion d'une session en php


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