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 :

Variable de session - unset()


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Restauration
    Inscrit en
    Décembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Restauration

    Informations forums :
    Inscription : Décembre 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Variable de session - unset()
    Hello tout le monde,

    Je me permet de venir demander de l'aide car là je sèche.

    Je m'explique, je définit une variable de session sur une page pour afficher un message en alerte sur une autre, jusque là tout va bien, mais comme ce message est en session, je fais un unset() de cette variable, mais le soucis c'est que le unset même si je l'écrit en bas de ma page, mon affichage plus haut ne s'affiche plus O_o.

    j'ai retourner le problème dans tout les sens et rien n'y fait.

    voici mes pages :

    Page de ma class 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
    18
    19
    20
    21
    22
    23
    24
    25
    /**
     * Permet d'ajouter un message flash
     * @param string $key Clef de l'array pour le retour vers l'utilisateur (Success, Danger)
     * @param string $message Message à mettre dans le flash
     */
    public function setFlash($key, $message){
        $_SESSION['flash'][$key] = $message;
    }
     
    /**
     * Vérification de la variable flash
     * @return boleen Si il y a ou non des messages flash
     */
    public function hasFlashes(){
        return isset($_SESSION['flash']);
    }
     
    /**
     * On retourne les messages flash
     */
    public function getFlash(){
        $flash = $_SESSION['flash'];
        unset($_SESSION['flash']);
        return $flash;
    }
    Page où je définit la Session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    App::getSession()->setFlash("success", "Votre mail vient de nous être envoyé, nous vous en remercions.");
    App::redirect("/");
    Page où elle doit s'afficher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     <?php if(App::getSession()->hasFlashes()):?>
        <?php foreach(App::getSession()->getFlash() as $type => $message):?>
            <div class="alert alert-<?=$type;?>">
                <p><?=$message;?></p>
            </div>
        <?php endforeach;?>
        <?php unset($_SESSION['flash']; ?>
    <?php endif;?>
    Je précise bien que les session_start() sont bien fait, car sans le unset() cela fonction.

    Sachant que cela marche sur un de mes autre site en ligne, mais là impossible en local de faire marcher, et même en ligne pour ce site là.

    c'est comme ci le unset() fonctionnais avant tout le reste ...

    Dans l'attente de votre aide, je vous remercie,

    Mathieu

  2. #2
    Membre habitué
    Homme Profil pro
    Developpeur
    Inscrit en
    Juillet 2014
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Juillet 2014
    Messages : 102
    Points : 153
    Points
    153
    Par défaut
    Bonjour,
    Pourquoi refaire un unset dans ta page alors qu'il est déjà fait lors de l'appel à getFlash() ?
    Lors du redirect, la session n'est pas touchée ?

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Restauration
    Inscrit en
    Décembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Restauration

    Informations forums :
    Inscription : Décembre 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par insaneness Voir le message
    Bonjour,
    Pourquoi refaire un unset dans ta page alors qu'il est déjà fait lors de l'appel à getFlash() ?
    Lors du redirect, la session n'est pas touchée ?
    car je l'ai rajouter pour des test sur la page mais il y es plus, je vais l'enlever sur le post,

    voila la redirection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        static function redirect($page){
     
            return header("location:$page"); 
        }
    }
    donc pas de session en jeu

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Restauration
    Inscrit en
    Décembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Restauration

    Informations forums :
    Inscription : Décembre 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Trouvé,

    Juste un exit() après le harder location, donc cela exécutait ma page où l'affichage du flash ce faisait après la redirection

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

Discussions similaires

  1. unset() pour les variables de session
    Par ozzmax dans le forum Langage
    Réponses: 2
    Dernier message: 05/05/2006, 15h56
  2. 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
  3. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 13h42
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

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