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 :

Détruire session sauf une variable


Sujet :

Langage PHP

  1. #1
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut Détruire session sauf une variable
    Salut à tous.

    Voici un problème que je n'arrive pas à résoudre.

    Je dois détruire toutes les sessions sauf une seul (le statut de l'utilisateur car sinon il est déconnecté du site).

    Je dois surement les parcourir toutes et faire un test mais je sèche...

    Merci à vous.
    Évènements dans le 06?
    www.sortir06.com

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Bonjour,
    tu veux sûrement dire détruire les variables de sessions et non détruire les sessions ? Pourquoi ne pas copier le statut de l'utilisateur dans une variable, supprimer tout le contenu de la session (par session_destroy() par exemple), et ensuite remettre le statut dans la session?

  3. #3
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    car je ne peux pas mettre 2 session_start() sur la même page.

    Le premier servira pour récupérer la session courante, et le deuxième pour mettre juste le statut mais ce n'est pas possible.
    Évènements dans le 06?
    www.sortir06.com

  4. #4
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Je mets le statut en variable, je la passe par un formulaire vers une autre page.
    Et je re-crée une session sur cette page.

    Merci
    Évènements dans le 06?
    www.sortir06.com

  5. #5
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 292
    Points
    292
    Par défaut
    et en sauvegardant la valeur que tu veut avant ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $saved = $_SESSION['saved'];
    $_SESSION = array();
    $_SESSION['saved'] = $saved;
    Mais dans mon cas, je ne supprime pas la session, je vide les informations, donc la session à toujours le même id.

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Pas besoin de faire compliqué avec deux pages et un formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    session_start();
    $statut = $_SESSION['statut'];
    foreach($_SESSION as $session)
    {
      unset($_SESSION[$session]);
      }
     
    $_SESSION['statut'] = $statut;

  7. #7
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Citation Envoyé par benji07 Voir le message
    et en sauvegardant la valeur que tu veut avant ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $saved = $_SESSION['saved'];
    $_SESSION = array();
    $_SESSION['saved'] = $saved;
    Mais dans mon cas, je ne supprime pas la session, je vide les informations, donc la session à toujours le même id.
    Dans mon cas, ce n'est pas possible de juste les vidée. il faut que je les detruise.
    Évènements dans le 06?
    www.sortir06.com

  8. #8
    Débutant
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    1 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 125
    Points : 704
    Points
    704
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    Pas besoin de faire compliqué avec deux pages et un formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    session_start();
    $statut = $_SESSION['statut'];
    foreach($_SESSION as $session)
    {
      unset($_SESSION[$session]);
      }
     
    $_SESSION['statut'] = $statut;
    C'est vrai, je n'avais pas pensé à la fonction unset().

    Merci à vous.
    Évènements dans le 06?
    www.sortir06.com

  9. #9
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 292
    Points
    292
    Par défaut
    euh le
    $_SESSION = array() est équivalent à faire une boucle de unset, car je créé un nouveau tableau qui à le même nom

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 15/05/2010, 13h37
  2. Mise en session d'une variable sur clic d'un bouton
    Par flexx dans le forum Langage
    Réponses: 2
    Dernier message: 28/08/2008, 13h52
  3. Détruire une variable de session
    Par paradeofphp dans le forum ASP.NET
    Réponses: 4
    Dernier message: 04/09/2007, 13h08
  4. Détruire une variable session
    Par tiyolx dans le forum Langage
    Réponses: 1
    Dernier message: 06/05/2006, 18h59
  5. supprimer lignes d'une variable session tableau sauf 1
    Par epeichette dans le forum Langage
    Réponses: 1
    Dernier message: 30/03/2006, 17h41

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