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 :

Réduire une variable de session aux seules erreurs


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 590
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 590
    Points : 813
    Points
    813
    Par défaut Réduire une variable de session aux seules erreurs
    Bonjour,

    Je voudrais supprimer le contenu de $_SESSION sauf $_SESSION['errors'].
    J'ai testé le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //if ( isset($_SESSION['errors']) ) { $_SESSION = $_SESSION['errors']; }
    var_dump($_SESSION);echo '<br/>';
    $_SESSION = array_intersect_assoc($_SESSION, $_SESSION['errors']);
    var_dump($_SESSION);echo '<br/>';
    Dans ce code la ligne en commentaire provoque une erreur
    Notice: Unknown: Skipping numeric key 0 in Unknown on line 0
    , les lignes suivante renvoie un tableau vide.
    Je ne voudrais pas non plus effacer les cookies en session.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    plusieurs façons d'y arriver :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $a = $_SESSION['errors'];
    $_SESSION = [];
    $_SESSION['errors'] = $a;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $a['errors'] = $_SESSION['errors'];
    $_SESSION = $a;
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION = array_intersect_key($_SESSION, ['errors' => true]);

  3. #3
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Points : 2 008
    Points
    2 008
    Billets dans le blog
    1
    Par défaut
    Je privilégierais la deuxième solution en renommant la variable $a avec quelque chose comme $sessionBackup.
    La plus claire selon moi si quelqu'un d'autre ou soi-même doit relire le code par la suite.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/01/2008, 22h10
  2. Réponses: 4
    Dernier message: 14/12/2005, 08h33
  3. [C#] ArrayList dans une variable de session ?
    Par Oberown dans le forum ASP.NET
    Réponses: 1
    Dernier message: 12/12/2005, 15h50
  4. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30
  5. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/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