pb espace membre

pb espace membre - PHP - Programmation

Marsh Posté le 19-06-2004 à 19:32:12    

salut,
voila je voudrais faire un espace membre.
j'utilise les sessions jusque la pas de probleme!
seulement je voudrais faire un systeme de connection automatique, en mettant un cookie, mais je ne vois pas comment faire.
pour l'instant, j'ai ca :
quand le mot de passe et le login est bon :

Code :
  1. if($data['pass'] != md5($password))
  2.     {
  3.     echo "Mauvais login / password. Merci de recommencer.<br>
  4.     <META HTTP-EQUIV=\"Refresh\" CONTENT=\"2;URL=index.htm\">";
  5.     exit;
  6.     }
  7.   else
  8.     {
  9.     session_start();
  10.     session_register('login');
  11.     include('toto.php');
  12.     }


puis dans mon script qui vérifie :

Code :
  1. session_start();
  2. if(!session_is_registered('login'))
  3.     {
  4.     echo "Vous n'êtes pas autoriser à acceder à cette zone.<br>
  5.     <META HTTP-EQUIV=\"Refresh\" CONTENT=\"2;URL=index.htm\">";
  6.     exit;
  7.     }


disons que j'ai une checkbox "connection automatique", quand je clik sur le bouton submit, pareil on regarde le login et mot de passe et si la checkbox est clikée on créé un cookie
mais après dans mon script de vérif je ne sais pas comment créer un session si ce cookie existe.
merci
 
EDIT: j'ai fais un truc qui semble marcher:
dans mon script de vérif

Code :
  1. if ((isset($TEST))&&($TEST=="LOL" ))
  2. {
  3. session_start();
  4. session_register('login');
  5. }
  6. session_start();
  7. if(!session_is_registered('login'))
  8.     {
  9.     echo "Vous n'êtes pas autoriser à acceder à cette zone.<br>
  10.     <META HTTP-EQUIV=\"Refresh\" CONTENT=\"2;URL=index.htm\">";
  11.     exit;
  12.     }


Message édité par $man le 19-06-2004 à 19:52:40
Reply

Marsh Posté le 19-06-2004 à 19:32:12   

Reply

Marsh Posté le 19-06-2004 à 20:52:53    

Premierement, session_start(); doit etre placé tout en haut de ton script, pask sinon il n'a aucun effet, et il me semble que tu te complike pasmal la vie pour rien

Reply

Marsh Posté le 19-06-2004 à 23:10:56    

ba session start é placé en haut non ?
et pk c'est compliqué ?

Reply

Marsh Posté le 19-06-2004 à 23:15:51    

Au lieu de t'embêter avec ca:

Code :
  1. if ((isset($TEST))&&($TEST=="LOL" ))
  2.   {
  3.     session_start();
  4.     session_register('login');
  5.   }
  6.   session_start();
  7.   if(!session_is_registered('login'))
  8.       {
  9.         echo "Vous n'êtes pas autoriser à acceder à cette zone.<br>
  10.         <META HTTP-EQUIV=\"Refresh\" CONTENT=\"2;URL=index.htm\">";
  11.         exit;
  12.       }


 
Fais comme ca:

Code :
  1. session_start();
  2. if ((isset($TEST))&&($TEST=="LOL" ))
  3.   {
  4.     session_register('login');
  5.   }
  6.   if(!session_is_registered('login'))
  7.       {
  8.         echo "Vous n'êtes pas autoriser à acceder à cette zone.<br>
  9.         <META HTTP-EQUIV=\"Refresh\" CONTENT=\"2;URL=index.htm\">";
  10.         exit;
  11.       }


 
 
Un seul session_start(); suffit ;)

Reply

Marsh Posté le 19-06-2004 à 23:33:47    

ok, merci, mais mon truc est correct sinon ? en tout cas ca donen l'impression de fonctionner :)

Reply

Marsh Posté le 20-06-2004 à 09:28:28    

if ((isset($TEST))&&($TEST=="LOL" ))  
    {  
        session_start();  
        session_register('login');  
    }  
 
Moi je vois que le If() est placer avant le session_start() , donc c faux

Reply

Marsh Posté le 20-06-2004 à 12:21:42    

oui, j'ai corrigé grace a alphazone :)
ca fonctionne  
merci

Reply

Marsh Posté le 20-06-2004 à 14:06:12    

euh, on est pas obligé de placer son session_start() tout en haut du script hein...
Faut juste qu'il n'y ai pas d'affichage quelconque de données avant.

Reply

Marsh Posté le 20-06-2004 à 21:54:23    

Ayuget a écrit :

euh, on est pas obligé de placer son session_start() tout en haut du script hein...
Faut juste qu'il n'y ai pas d'affichage quelconque de données avant.


 
Sorry , mea culpa

Reply

Sujets relatifs:

Leave a Replay

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