IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Session qui reste active


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Points : 123
    Points
    123
    Par défaut Session qui reste active
    Bonjour,

    J'ai un problème avec les sessions.

    Je me log sur une portail local, par exemple http://localhost/site1/, la session est bien prise en compte, quand ensuite je change d'adresse sans me déloguer du premier, par exemple http://localhost/site2/, il garde la session en mémoire.

    Ma question est : Comment faire pour tuer la session automatiquement dès que je change de site.

    Merci d'avance.

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    tu peux utiliser la fonction session_destroy pour détruire une session.

    Sinon tu peux peux être modifier tes variables de session pour les utiliser de cette façon :

    $_SESSION['site1']['valeur1']
    $_SESSION['site2']['valeur1']

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Points : 123
    Points
    123
    Par défaut
    est ce qu'on peut définir le type de site dans les variables de session en dur ? car mon fichier de verif du login/mot de passe est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
    //initialisation de la session
     
    require_once "_mysql/mysql.php";
    include "_functions/functions.php";
     
    session_start();
     
    if(isset($_POST['login']) && isset($_POST['motdepasse'])){
     
    	$nom = $_POST['login'];
    	$motdepasse = $_POST['motdepasse'];
     
    	if(verification($nom, $motdepasse)){
    		session_regenerate_id();
    		$_SESSION['nom'] = $nom;
    		header('location: index.php');
    	}else{
    		header('location: index.php');
    	}
    }else{
    	header('location: index.php');
    }
    ?>
    et la fonction liée est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    function verification($nom,$motdepasse){
    	$dbhote = 'localhost'; 			//Mysql Hostname
    	$dbuser = 'root';				//Mysql UserName
    	$dbpass = 'root';					//Mysql Password
    	$dbbase = 'site1';			//Mysql Database Name
     
    	$dsn = "mysql:dbname=$dbbase;host=$dbhote";
    	$dbh = new PDO($dsn, $dbuser, $dbpass);
     
    	$mdp = md5($motdepasse);
     
    	$nom_sql = $dbh->quote($nom);
    	$pass_sql = $dbh->quote($mdp);
     
    	//verification de la presence de l'utilisateur dans la table usr
    	$sql = sprintf("SELECT count(*) AS nbres FROM users WHERE login=$nom_sql AND password=$pass_sql");
     
    	$result = $dbh->query($sql);
    	$row = $result->fetch();
    	$result = null;
     
    	if($row['nbres'] == 1){
    		return TRUE;
    	}else{
    		return FALSE;
    	}		
    }

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Points : 123
    Points
    123
    Par défaut
    C'est bon cela marche en la remplacant en dur, je remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['nom'] = $nom;
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['site1']['nom'] = $nom;
    sur le site1 et par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['site2']['nom'] = $nom;
    Merci pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WS 2003] Session TSE reste active
    Par agrimault dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 07/02/2011, 15h27
  2. checkbox qui reste actives
    Par Chris_Dupasquier dans le forum VB.NET
    Réponses: 5
    Dernier message: 04/05/2010, 16h31
  3. Session qui reste
    Par magda62 dans le forum Langage
    Réponses: 10
    Dernier message: 19/05/2009, 14h35
  4. [MySQL] Session qui ne reste pas d'une page à l'autre
    Par nO_life dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 22/11/2008, 16h07
  5. Ouvrir une fenetre qui reste active tout le temps
    Par pas30 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 11/01/2007, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo