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

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Session : marche pô :(

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Session : marche pô :(

n°1249693
laurent_31
Posté le 21-11-2005 à 11:51:41  profilanswer
 

Ola,
 
Je sèche complétement sur un pbl de session, arghhhhhhh, si quelqu'un peut m'aider...
En fait quand je reviens sur la première page, il me recharge toujours le menulogin.php alors qu'une authentification a été faite, humm...
 
voici le code de la première page :
 

Code :
  1. <?php
  2. // initialisation de la session
  3. session_start() ;
  4. ?>
  5. <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  6. "http://www.w3.org/TR/xhtml/DTD/XHTML1-STRICT.DTD3>
  7. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
  10. <meta http-equiv="pragma" content="no-cache" />
  11. <style type="text/css">
  12.  @import url(styles/design.css);
  13. </style>
  14. <title>Document sans nom</title>
  15. </head>
  16. <body>
  17. <div id="menu">
  18. <?php
  19. if (!isset($_SESSION['login'])) {
  20.  include "menulogin.php";
  21. }
  22. if (isset($_SESSION['rights'])) {
  23.  if($_SESSION['rights'][0])
  24.   print '<li><input type="submit" name="compte"  value="Gestion Utilisateur" onClick="document.menu.submit()" ></li>';
  25. }
  26. ?>
  27. </div>
  28. <div id="global">
  29. <?php
  30. if (!isset($_GET['page'])) $page= 'accueil';
  31. else $page= $_GET['page'];
  32. switch($page)
  33. {
  34. case 'accueil' :include ('accueil.php');break;
  35. case 'verif' :include ('verif.php');break;
  36. case 'adduser' :include ('adduser.php');break;
  37. }
  38. ?>
  39. </div>
  40. </body>
  41. </html>


 
et voici le code de la page qui valide l'ouverture de session :
 

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml/DTD/XHTML1-STRICT.DTD3>
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
  6. <meta http-equiv="pragma" content="no-cache" />
  7. <style type="text/css">
  8.  @import url(styles/design.css);
  9. </style>
  10. <title>Document sans nom</title>
  11. </head>
  12. <?php
  13. // Charge les fonctions d'accès MySQL
  14. require "definitions.inc.php";
  15. require "MySQL.php";
  16. // si on a reçu les données d'un formulaire :
  17. if (!empty($_POST['login']) && !empty( $_POST['password'] )) {
  18. // on les récupère
  19. $login = $_POST['login'] ;
  20. $password = $_POST['password'] ;
  21. // on teste si le mot de passe est valide + si le compte est actif :
  22. if($_SESSION['rights']=verification($login,$password)) {
  23.  // on sauvegarde donc son nom dans la session
  24.  $_SESSION['login'] = $login ;
  25.  $message = 'vous êtes correctement identifié';
  26.  $message .='<a href="index.php">retour</a>';
  27. } else {
  28. // sinon on revient à la page principale :
  29.  $message ='<a href="index.php">retour</a>' ;
  30. }
  31. } else {
  32. // un des champs n'est pas rempli
  33. $message = 'le login ou le mot de passe est vide  ' ;
  34. $message .='<a href="index.php">retour</a>' ;
  35. }
  36. function verification($login,$password){
  37. $returnRights='';
  38. // Connexion SQL
  39. $serveur=ConnectHOST(FALSE);
  40. if($serveur) {
  41.  mysql_query('USE '.BASE,$serveur); }
  42. else {
  43.  echo 'Error : ' . mysql_error() . "\n"; }
  44. // Création de la requête SQL
  45. $login_sql = mysql_real_escape_string($login) ;
  46. $password_sql = mysql_real_escape_string($password) ;
  47. $sql ="SELECT * FROM PERSONNE "." WHERE LOGIN='$login_sql' AND PASSWORD='$password_sql'" ;
  48. // Exécution de la requête SQL
  49. $result = mysql_query($sql,$serveur);
  50. if($data=mysql_fetch_object($result)) {
  51.  // On vérifie si le compte est actif  
  52.  if($data->ACTIVATION) {
  53.   // On récupère les droits
  54.   $returnRights[]=$data->DROITRESERVATION;
  55.   $returnRights[]=$data->DROITCOMPTE;
  56.   $returnRights[]=$data->DROITRESSOURCE;
  57.  }
  58.  else echo 'Votre compte n\'est pas activé';
  59. } else{
  60.  echo 'Mauvais mot de passe  ';
  61. }
  62. return $returnRights;
  63. }
  64. function getActivate($login,$password){
  65. }
  66. ?>
  67. <body>
  68. <div id="global">
  69. <p>
  70. <?php echo $message ?>
  71. </p>
  72. </div>
  73. <body>
  74. </body>
  75. </html>


 
Voilà, j'ai bien le message envoyé par

Code :
  1. $message = 'vous êtes correctement identifié';
  2. $message .='<a href="index.php">retour</a>';


 
mais quand je reviens sur index.php (la première page), il me réaffiche le menu, alors que j'ai ce code là qui devrait m'afficher un autre choix :

Code :
  1. <?php
  2. if (!isset($_SESSION['login'])) {
  3.  include "menulogin.php";
  4. }
  5. if (isset($_SESSION['rights'])) {
  6.  if($_SESSION['rights'][0])
  7.   print '<li><input type="submit" name="compte"  value="Gestion Utilisateur" onClick="document.menu.submit()" ></li>';
  8. }
  9. ?>


 
Et j'ai bien vérifié, dans la page verif.php, $_SESSION['rights'][0] contient bien 1. Par contre dans index.php, $_SESSION['login'] et $_SESSION['rights'] ne sont plus connues...
 
Laurent


Message édité par laurent_31 le 21-11-2005 à 13:30:37
mood
Publicité
Posté le 21-11-2005 à 11:51:41  profilanswer
 

n°1249777
laurent_31
Posté le 21-11-2005 à 13:30:19  profilanswer
 

Résolu : Pbl dû à dreammachin. Certainement les sessions qui ne s'inscrivent pas correctement sur le disque : aucun pbl avec le serveur local.


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

  [Résolu] Session : marche pô :(

 

Sujets relatifs
(VC++/Win32) [resolu] récupérer le texte d'un tooltip grace à son hwndCannot send session cookie - headers already sent by ...
Session PHPRESOLU insertion de l'année N-1 à concaténer avec un mot
Pb résolu: Empécher la superposition des commonbuttons[Javascript] position X et Y d'une balise HTML [Résolu]
init de la classe mère [résolu]pb résolu: créer un lien hypertext
[Résolu] [Excel] Régression pas à pas[PHP] Session - marche pas ! [RESOLU] :-)
Plus de sujets relatifs à : [Résolu] Session : marche pô :(


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