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 ne quitte pas


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Points : 65
    Points
    65
    Par défaut Session ne quitte pas
    Bonjour

    Je préfère venir directement vous demander, j ai essayé et le résultat est toujours le même : le compte reste ouvert et en mémoire lorsque l'on revient sur la page d'inscription...et en fait le cookie doit se mettre en mémoire puisque lorsque je tape le chemin de la page "compte" , le bon compte s'affiche en étant "ouvert"

    Voila ce que contient le header.inc.php:
    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
    else{
    	$quser = mysql_query("SELECT * FROM users WHERE email='$email' AND pwd='$pwd' AND status='1'");
    	$ruser = mysql_fetch_assoc($quser);
    	if ($ruser["id_user"]>0){
    		$_SESSION["config_user"]=array("id_user" => $ruser["id_user"], "nom" => $ruser["nom"], "prenom" => $ruser["prenom"]);
    		header("Location: moncompte.php");
    		die();
    	}
    	else{
    		$tab_erreur[0]="Email ou mot de passe incorrect !";
    	}
    }
    }
    else if ($_GET["action"]=="deconnexion"){
    	session_unset($_SESSION["config_user"]);
    session_destroy($_SESSION["config_user"]);
    	header("Location: index.php");
    	die();
    }
    voila ce que contient headerhtml.inc.php
    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
    <?
    if ($_SESSION["config_user"]["id_user"]>0){
    ?>
        <strong>Bienvenue <?=strtoupper($_SESSION["config_user"]["nom"]);?> <?=ucfirst($_SESSION["config_user"]["prenom"]);?></strong>   | 
        <a href="moncompte.php">Mon compte</a> | 
        <a href="index.php?action=deconnexion">Déconnexion</a>
    <?
    }
    else{
    ?>
        <strong>Accès:</strong>
    	 <a href="restaurant-pro-bienvenue.html">Restaurateur</a> | 
        <a href="contact.php">Inscription</a> | 
       	<a href="identification.php">Identification</a>
    <?
    }
    ?>
    voila ce que contient la page "identification"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?
    include("header.inc.php");
    $tmpself=$_SERVER["PHP_SELF"];
    $tab_tmpself=split('/',$tmpself);
    $selfurl='http://'.$_SERVER["SERVER_NAME"].ereg_replace($tab_tmpself[(count($tab_tmpself)-1)],'',$tmpself);
    if ($_POST["submit_mdp"])
    {
    	$email=$_POST["email2"];	
    	if ($email=='')
    	{
    		?>
    et voila l'entete de page "moncompte"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?
    include("header.inc.php");
    if(!isset($_SESSION['config_user']) || round($_SESSION['config_user']['id_user'])<=0)
    {
    	header("location:identification.php");
    }
     
    $tmpself=$_SERVER["PHP_SELF"];
    $tab_tmpself=split('/',$tmpself);
    $selfurl='http://'.$_SERVER["SERVER_NAME"].ereg_replace($tab_tmpself[(count($tab_tmpself)-1)],'',$tmpself);
    si quelqu'un peut aider, merci beaucoup :-)

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu veux dire "après avoir cliqué sur deconnexion" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Points : 65
    Points
    65
    Par défaut
    Salut Sabotage

    Oui , apres avoir cliqué sur déconnexion, la variable à l'air de rester quelque part en memoire...surement avec les cookies... j'a i essayé des destroy/unset/setcookie/sessionarray mais rien n'y fait.

    J'ai peut etre un soucis de syntaxe. j'ai supprimé les espaces ou lignes vides/inutiles... je patauge... ^^

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il ne faut pas essayer au hasard et n'importe comment ; tu as des exemples dans la documentation.
    session_destroy ne prend pas d'argument et session_unset est obsolète.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_SESSION = array();
    session_destroy();
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Points : 65
    Points
    65
    Par défaut
    j'ai essayé avec plusieurs combinaisons, car c'est vrai que je ne comprends pas pourquoi la session et/ou cookie n'est pas libéré

    avec ça par exemple, vu que la session est avec config_user, dans le header.inc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    session_destroy($_SESSION["config_user"]);
    		header("Location: index.php");
    	die();

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Même réponse que précedemment.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Points : 65
    Points
    65
    Par défaut
    ...mais même sans argument , c'est comme si un cookie restait... :-( forcement , quand je vire manuellement les cookies, la session est vidée..
    Comment faire...?

    ou alors , c'est qu'il y a une mémoire contenue dans l'une des pages, non?

    voilà les entêtes des pages concernées :

    identification.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?
    include("header.inc.php");
    $tmpself=$_SERVER["PHP_SELF"];
    $tab_tmpself=split('/',$tmpself);
    $selfurl='http://'.$_SERVER["SERVER_NAME"].ereg_replace($tab_tmpself[(count($tab_tmpself)-1)],'',$tmpself);
    header.inc.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?
    session_start();
    include("sql.inc.php");
    headerhtml.inc.php ne contient que ces lignes:
    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
    <?
    	if ($_SESSION["config_user"]["id_user"]>0)
    	{
    ?>
        <strong>Bienvenue <?=strtoupper($_SESSION["config_user"]["prenom"]);?> <?=ucfirst($_SESSION["config_user"]["nom"]);?></strong>   | 
        <a href="moncompte.php">Mon compte</a> | 
        <a href="index.php?action=deconnexion">Déconnexion</a>
    <?
    	}
    	else 
    	{
    ?>
        <strong>Accès:</strong>
    	 <a href="restaurant-pro-bienvenue.html">Restaurateur</a> | 
        <a href="contact.php">Inscription</a> | 
       	<a href="identification.php">Identification</a>
    <?
    	}
    	?>
    ici l'entête de moncompte.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?
    include("header.inc.php");
    if(!isset($_SESSION['config_user']) || round($_SESSION['config_user']['id_user'])<=0)
    {
    	header("location:identification.php");
    }
    $tmpself=$_SERVER["PHP_SELF"];
    $tab_tmpself=split('/',$tmpself);
    $selfurl='http://'.$_SERVER["SERVER_NAME"].ereg_replace($tab_tmpself[(count($tab_tmpself)-1)],'',$tmpself);

  8. #8
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Tu as écris les 2 lignes proposées par sabotage ?
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 208
    Points : 65
    Points
    65
    Par défaut
    ...ouais...ça le fait pas :-(

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/08/2006, 12h10
  2. Mes session ne veulent pas marcher :-/
    Par GrosB dans le forum Langage
    Réponses: 11
    Dernier message: 31/07/2006, 23h45
  3. Session et include => pas bon ménage ?
    Par shadeoner dans le forum Langage
    Réponses: 11
    Dernier message: 10/07/2006, 10h30
  4. Réponses: 2
    Dernier message: 07/09/2005, 16h28
  5. Detecter le statut d'une session (commit ou pas)
    Par Loko dans le forum Oracle
    Réponses: 7
    Dernier message: 15/12/2004, 10h28

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