? Session Warning ?

? Session Warning ? - PHP - Programmation

Marsh Posté le 19-02-2004 à 12:09:08    

bonjour,
 
je débute la construction d'un site, et je viens de mettre en place la phase initiale d'identification et d'inscription des utilisateurs. Tout marche bien, aucun probleme. Une fois l'utilisateur clairement identifié (login+pass), il a accès au site à proprement parler. Concrètement, ma page 'verifier_loginuser.php' lance une requete sur la table 'utilisateurs', recherche le login saisi et vérifie qu'il s'agit bien du mot de passe saisi correspondant au bon login. Lorsque ces 2 conditions sont remplies, et avant de rediriger vers la véritable page d'accueil du site, je crée une session dans laquelle je vais conserver plusieurs paramètres, comme le login, le type d'utilisateur et la date de création du compte:

Citation :

session_start();
       $_SESSION['login']=$login;
       $_SESSION['type']=$type;
       $_SESSION['date']=$date;


Seulement php me sort 2 erreurs, et je n'arrive pas à voir quel est le problème. Les voici:

Citation :

Warning: Cannot send session cookie - headers already sent by (output started at c:\windows\bureau\site sig\www\entete.php:4) in c:\windows\bureau\site sig\www\veriflog.php on line 85
Warning: Cannot send session cache limiter - headers already sent (output started at c:\windows\bureau\site sig\www\entete.php:4) in c:\windows\bureau\site sig\www\veriflog.php on line 85
Bonjour


 
MERCI D'AVANCE pour vos réponses

Reply

Marsh Posté le 19-02-2004 à 12:09:08   

Reply

Marsh Posté le 19-02-2004 à 12:16:02    

Fo mettre le session_start() au tout début de ton code avant d'envoyer un quelconque caractère vers l'écran.

Reply

Marsh Posté le 19-02-2004 à 12:37:26    

? mais j'envoie deja plein de caractères à l'écran (ne serait-ce que pour les entetes html des fichiers). Si tu me dis ca, ca implique donc qu'on crée une session dès le passage d'un utilisateur sur la page de garde du site (la toute 1ere), qu'on la laisse tranquille le temps que l'utilisateur se logge ou s'inscrive, et qu'une fois vérifiés les paramètres d'identification (pseudo+password), on peut enfin les enregistrer dans $_SESSION ... ?
Si c'est bien comme ca qu'il faut procéder, comment tuer ma session si l'utilisateur part du site avant de se logger ??? (session créée à l'arrivée sur la 1ere page je veux bien, mais comment détecter que l'utilisateur est parti pour pouvoir la détruire ?)
 :??:

Reply

Marsh Posté le 19-02-2004 à 12:39:54    

Y'a un timeout des sessions que tu règle dans php.ini
Sinon pour détruire tu te sers de session_destroy();

Reply

Marsh Posté le 19-02-2004 à 13:57:25    

Citation :

Si tu me dis ca, ca implique donc qu'on crée une session dès le passage d'un utilisateur sur la page de garde du site (la toute 1ere), qu'on la laisse tranquille le temps que l'utilisateur se logge ou s'inscrive, et qu'une fois vérifiés les paramètres d'identification (pseudo+password), on peut enfin les enregistrer dans $_SESSION ... ?


est-ce que c la bonne méthode ???

Citation :

session créée à l'arrivée sur la 1ere page je veux bien, mais comment détecter que l'utilisateur est parti pour pouvoir la détruire ?


quel est le moyen pour détecter l'annulation de la session puis la clore ? (où placer ce 'session_destroy()' ?)
>> ce qui m'inquiète, c que si l'utilisateur visite l'url ca va lancer une session dès son arrivée, mais s'il quitte l'url sans s'être identifié, je ne c pas comment supprimer cette session "pendante" vide... (est-ce grave pour les ressources de laisser trainer des sessions ?)


Message édité par lkolrn le 19-02-2004 à 14:01:59
Reply

Marsh Posté le 19-02-2004 à 14:11:42    

Y'as un paramètre de timeout des sessions dans php.ini

Reply

Marsh Posté le 19-02-2004 à 14:15:35    

Concernant l'authentification, il vaut mieux faire un test de type en affectant une variable 'login' si ok.
 
$_SESSION['login']=true  

Reply

Marsh Posté le 19-02-2004 à 15:16:49    

g déjà vu pour le timeout, mais je n'aime pas laisser le contrôle à une machine... Je préfèrerai effectuer la destruction moi-même, mais je ne c pas comment (peut-être n'est-ce pas prévu pour ca tout simplement)
 
Pour l'authentification, je ne v certainement pas enregistrer un password dans $_SESSION, par contre j'aimerais conserver le login de l'utilisateur pour lui dire à son entrée identifiée sur le site: 'salut utilisateur_avec_ton_nom_a_toi', je trouve ca plus personnalisé que 'salut ok'! :p (et ca me permettrait d'afficher son nom sur toutes les pages du site si j'en ai l'envie)


Message édité par lkolrn le 19-02-2004 à 15:17:48
Reply

Marsh Posté le 20-02-2004 à 10:30:46    

nan? :p

Reply

Sujets relatifs:

Leave a Replay

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