probleme_session

Répondre
sonia
le 08/04/2005 à 22:50
sonia
salut tout le monde,
j'ai un probleme avec des variables de sessions.
enfet jai utliser les session pour verifier si l'utilisateur qui visite le site et bien un menbre.
donc, j'ai mis dans ma page verification.php:
$sesion=$rows['ses_id']; //recup la session de cette utilisateur.
$_SESSION['s_sess'] = $sesion;
session_register("s_sess");
ensuite dans mes autres pages jsui blockés.
je sais bien qu'il faut que je mettent session_start(), mais mon problemes ces le moment ou l'on doit verifier si la session actuel et bien celle de l'utilisateur qui ces connecter donc "$_SESSION['s_sess']".
si je fait session_id()=$_SESSION['s_sess'] obligatoirement sa va pas marcher.

donc je sais vraiment pas comment faire.
si quelqu'un pourait m'aider sa serai super gentil.
merci.
zebden
le 09/04/2005 à 00:21
zebden
Bon

$sesion=$rows['ses_id']; //recup la session de cette utilisateur.
$_SESSION['s_sess'] = $sesion;
session_register("s_sess");

Inutile !!

$_SESSION['s_sess'] = $rows['ses_id'] suffit amplement. surtout que session_register est totalement obselète avec le tableau $_SESSION.

Ensuite session_id() retourne l'id de la session en cours , en gros session_start() annonce le début d'une nouvelle session , un identifiant est créé soit sauvegardé dans un cookie soit passé direct par l'url.
Et a chaque nouvelle session, un nouvel identifiant donc pas la peine de sauvegarder l'ancien, ca sert à rien !

Stock des infos dans un cookie à la limite tel que l'identifiant du membre (et non de la session)

P.S : essaie d'ecrire francais aussi.
zebdinou pour les intimes / Blog : http://www.zebden.fr
sonia
le 09/04/2005 à 09:29
sonia
ok merci,
tu voit moi ce que j'ai fait ces sa:
bon j'ai recuperer id_session de l'utilisateur ensuite je l'ai mis dans $_session['']et apres dans toute mes autres pages j'ai mis
if($_SESSION['s_sess']<>"a56556dfhda4dbb7d38a8c0032fec"){
header("location:index.php"); }
et sa marche mais bon jpense pas que sa doit se faire comme ca.
toi enfet tu me di de creer une table "session" où a chaque fois qu'un utilisateur se connecte on insert dans cette table la session actuel et apres on verifie si la session en cours et egale a la session de cette utilisateur ces sa ?
sinon merçi quand meme pour ton aide.
moogli
le 09/04/2005 à 10:48
moogli
Salut,

en fait tu est en train de refaire le système de session :)

lorsque tu demande un session_start() php vérifie s'il n'existe pas un cookie de session valide chez le client ou s'il y a en paramètre de l'url un SID valide !

donc si php récupère un SID valid il va mettre a ta disposition les infos enregistrées dans la session si non rien :)

ce que tu peut faire c'est enregistrer le pseudo, ou la clef primaire de ta table membre dans une variable de session ($_SESSION['pseudo'] = $pseudo ou $_SESSION['id']=$id; sachnt que ici l'id est différent du SID !)

ensuite pour savoir si un membre est connecté :
<?php
session_start();
if ! (isset ($_SESSION['pseudo'])) {
header ('Location: ouste.php');
}
?>


avec sa tu est sur de pouvoir vérifier si le client s'est loguer sur le site :)

Rappel : SID = Session ID !


@+
Il en faut peu pour être heureux !!!!!
sonia
le 09/04/2005 à 18:34
sonia
ok sa marche tres bien merci pour ton aide.
sauf j'ai du remplacer isset par empty car if!(isset
sa donne une erreur je sais pas pourkoi.
donc sa sert a rien de mettre dans ma table utilisateur id_session je devrai l'enlever?
sinon merci pour ton aide.
zebden
le 09/04/2005 à 20:12
zebden
Mieux vaut utiliser isset que empty.

isset teste l'existance de la variable alors que empty teste si c'est vide.
if(!isset(..

ET evidement ca sert a rien de stocker l'id de session dans la base..
zebdinou pour les intimes / Blog : http://www.zebden.fr
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours