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 :

[Cookies] Destruction de session


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 176
    Par défaut [Cookies] Destruction de session
    Salut tout le monde,

    Je vous décrie le problème. Lorsque je clique sur un lien "se déconnecter" la fonction "logout" (voir code ci-dessous) s'éxecute. et la session est détruite. Sauf que lorsque je clique sur le bouton "précédent" du navigateur et je clique sur oui pour loader les données qui proviennent du formulaire ou l'utilisateur entre son login et mot de passe je me trouve avec la session encore active. Dite moi s'il vous plait comment je pourrait remédier à ça et toute suggestion concerant le code est la bienvenue. Le code suivant est au début de ma page:
    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
    <?php
    function logout()
    {
    	unset($_SESSION["sessioname"]);
    	session_destroy();
    }
    session_start();
    if (isset($_REQUEST['submit'])){
               $passwd = sha1(addslashes($_POST['password']));
    	$username = addslashes($_POST['login']);
    	require_once "../includes/connexion.php";
    	$query = "SELECT * FROM table WHERE email ='".$username."' and password = '".$passwd."'";
    	$sql = mysql_query($query) or die("authetification a échoué.");
    	$result = mysql_fetch_array($sql);
    	if($result[0] != null) {
    		$_SESSION['sessioname'] = $username;
    	}
    	else Header ("Location: ./pageconnexion.php");
    	mysql_close();
    }
    else if(!isset($_SESSION['sessioname'])) {
    			Header ("Location: ./pageconnexion.php");
    }
     
    ?>

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Par défaut
    Bonjour,
    la documentation PHP fait référence à trois étapes dans la destruction "propre" d'une session, alors essayons de les utiliser toutes :

    1) Détruire le contenu de la session
    2) Détruire le cookie de session
    3) Détruire la session

    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
    <?php
     
      session_start();
     
      // étape 1
      $_SESSION = array();
     
      // étape 2
      if (isset($_COOKIE[session_name()]))
       setcookie(session_name(), '', time()-42000, '/');
     
      // étape 3
      session_destroy();
     
      header('Location: index.php');
     
    ?>
    Le mieux serait d'appeler ce script dans une page logout.php, puis de rediriger sur la page voulue. Comme cela, aucun retour en arrière n'est possible et donc la session est vide et le reste.

    Cordialement,
    DaRiaN.

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 176
    Par défaut
    Salut,

    Merci pour votre réponse. J'ai bien utilisé un seul fichier logout.php, mais j'avoue que je n'utilise pas les cookies pour le moment. Mais cela n'a pas résolu le problème. Voici le contenu de mon fichier logout.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    session_start();
    unset($_SESSION["sessioname"]);
    session_destroy();
    header("location: index.php");
    ?>

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Par défaut
    Je n'ai rien à ajouter, si vous voulez détruire la session, utilisez mon code comme exemple (un cookie de session existe, il faut le détruire), sinon, expliquez-moi votre problème.

  5. #5
    Membre confirmé Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Par défaut
    Utilise ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?
    include "connexion.php"; //le fichier de connexion
    session_start();
    unset($_SESSION['sessioname']);
    session_unset();
    session_destroy();
    header("location:index.php");
    ?>

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Par défaut
    bonjour,
    j'ai exactement le même problème et aucun des codes ne fonctionne. J'ai même essayé de vider les POST mais rien n'y fait: lorsque je fais "Précédent", la page s'affiche alors que la session vient d'être détruite. Comment faire?

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

Discussions similaires

  1. [Cookies] Destruction de session et requete sql
    Par webcap dans le forum Langage
    Réponses: 2
    Dernier message: 26/01/2009, 11h14
  2. Réponses: 8
    Dernier message: 01/08/2007, 17h00
  3. [Cookies] Destruction puis reconstruction de session
    Par pseudo5 dans le forum Langage
    Réponses: 6
    Dernier message: 17/02/2007, 03h03
  4. [Cookies] Pb destruction de session fermeture page
    Par Manuxy dans le forum Langage
    Réponses: 3
    Dernier message: 08/09/2006, 07h17
  5. besoin info sur le cookie et la session ?
    Par vbcasimir dans le forum Web
    Réponses: 8
    Dernier message: 16/11/2005, 11h45

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