Problème de sessions

Fermé
meryba99 - 4 mai 2012 à 11:28
 le père - 4 mai 2012 à 17:01
Bonjour,


j'ai un problème au niveau des sessions j'ai une application en ligne et quand deux utilisateurs se connectent au même temps les informations affichées pour le deuxième se sont les informations du premier connecté .
comment je dois différencier entre les sessions !!
merci pour votre temps

8 réponses

Bonjour

Normalement, les sessions sont indépendantes.
Il faudrait savoir comment fonctionne ton application. Peux-tu montrer ton code (en cachant les identifiants bien sûr)
0
oui normalement mais vu que l'application est en ligne on aura l'ouverture d'une session avant la destruction de la première ce qui permet de garder les infos.
voila le morceau de code qui vérifie la connexion et après crée la session :
<?php
require"connexionDb.php";
$objtCnx=new Connexion();
$login=$_POST['login'];
$pass=$_POST['pass'];
$cnx=$objtCnx->getValideCnx($login,$pass);

if($cnx==true){
session_start();

if(!isset($_SESSION['login']))
$_SESSION['login'] = $login ;
if(!isset($_SESSION['pass']))
$_SESSION['pass'] =$pass;

header("Location:IndexMen.php");
}
if($cnx!=true){
header("Location:indexLogin.php");
}
?>
0
mais vu que l'application est en ligne on aura l'ouverture d'une session avant la destruction de la première ce qui permet de garder les infos.
Les sessions sont faites pour ça. Chacune est repérée par un identifiant unique justement pour qu'elles ne se mélangent pas.
Le code semble correct (même si on se demande à quoi ça sert d'enregistrer un mot de passe dans une session).
C'est certainement dans le passage des variables d'une page à l'autre que tu as un problème.
Peux-tu montrer le code d'une page qui affiche les informations d'un autre internaute ?
0
le passage du mot de passe est obligé car les pages qui suivent attends dans les paramètres le mot de passe pour créer la connexion a nouveau (se sot des contraintes de l'application )

non si je passe les variables des sessions d'une page a une autre ils seront affichés donc la session est reconnue le problème comme vous l'avez dit dans l'identifiant de la session je ne sais pas est ce que je dois le personnaliser au moment de la création ..!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avez vous une proposition !
0
Admettons que tu aies besoin du mot de passe dans la session.

le problème comme vous l'avez dit dans l'identifiant de la session Non, je n'ai pas dit ça, et ça n'est sûrement pas le problème, c'est le PHP qui gère cet identifiant de session et tu n'as pas à t'en soucier.
Je crois plutôt qu'à un certain moment, tu enregistres des informations dans un fichier ou dans une table qui n'a aucun rapport avec la session, et qui est donc le même pour tous les utilisateurs.

Je renouvelle ma question : peux-tu montrer le code d'une page qui affiche les informations d'un autre internaute quand deux se connectent à la fois ?
0
d'accord
voila ici le code qui permet de récupérer les variables de session afin ds les envoyer dans la requête qui vérifie le login et le password et retourne l'objet connexion :
<?php require"model/acceuil/connexionDb.php";
$objtCnx=new Connexion();
$login=$_SESSION['login'];
$pass=$_SESSION['pass'];

$cnx=$objtCnx->getCnx($login,$pass);

?>
0
Y a-t-il bien session_start() au début du code ? en tous cas, avant le $login=$_SESSION['login']; ?

Tu te plains au départ d'informations identiques affichées pour deux visiteurs différents.
Je t'ai donc demandé deux fois déjà le code qui fait l'affichage.
Peux-tu me dire où se fait l'affichage dans le code que tu me donnes ?
0