Problème d'utilisation des SESSIONs

Eléphant du PHP | 52 Messages

01 déc. 2007, 11:29

Bonjour tout le monde,

Je essaie de faire un petit chat en PHP5, j'utilise pour ce faite les sessions. En faite j'utilise le script suivant chaque fois qu'un utilisateur accède au chat. Je fais mes test en localhost avec Mozilla, et deux tab sont associés pour deux utilisateurs. Le problème est que lorsque j'actualise le premier user, il prend les valeurs du deuxieme user ???
<?php
class Login
{
    public $login;
    public $password;
	
      
    public function Login($login,$password)
    {
        $this->login = $login;
        $this->password = $password;
    }
    
    public function checkAccess()
    {      
     //connection, envoie d'une requete à la base et puis récuerer les données
			
        if ( $user_row != "" )
        {
		session_start();
		$_SESSION['userProfile'] = "User" ;
		$_SESSION['userLogin']=$user_row->userLogin;
                $_SESSION['idUser']=$user_row->idUser;
		$_SESSION['connTime'] = time() ;
		mysql_free_result($user_data);
		$qry = "update users set userStatus = \"connected\" where idUser=\"$user_row->idUser\";";
		mysql_query($qry) ;
		//fermer la connection
			
		return true ;
          } else {
                  return false ;
    }
}
?>
l'appel se fait dans index.php comme suit :
<?php
session_start() ;
require "Login.php" ;
?>
//du code html puis un simple affichage
<?php
if( isset($_SESSION['userLogin'])) {
	echo "Username :".$_SESSION['userLogin']."\t<a href=\"logout.php\">Logout</a>" ;
}
?>
Il me semble que j'utilise mal les sessions, déja avec deux appels de session_start() c'est bizare :oops:
Si quelqu'un en a une quelconque idée.

Merci pour votre aide.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

01 déc. 2007, 17:03

Bonjour,

L'identifiant de session est le même pour chaque fenêtre (et tous les onglets qui sont dedans).
Si tu veux essayer 2 utilisateurs, teste avec Firefox d'un côté et IE ou Opéra de l'autre comme ça tu es sûr de ne pas avoir de mélange de session ;)
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 558 Messages

01 déc. 2007, 19:23

Code : Tout sélectionner

$_SESSION['userProfile'] = "User" ;
a cette ligne il ne devrait pas y avoir "$User" car la pour le dynamisme de la page tehoriquement c'est une variable pas une constante... :wink:

Eléphant du PHP | 52 Messages

02 déc. 2007, 02:34

:) C'est exact, ça marche avec deux explorateurs, je voulais aussi prendre vos avis sur l'utilisation des sessions que j'ai adopté notamment l'appelle de session_start().
Par contre pour "User", en faite ce n'est pas une variable mais plutot le type de l'utilisateur connecté (user, modérateur, invité).
Merci