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 :

pas de "echo" quand la session n'existe pas [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Programmeur fou
    Inscrit en
    Octobre 2010
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Programmeur fou

    Informations forums :
    Inscription : Octobre 2010
    Messages : 342
    Points : 217
    Points
    217
    Par défaut pas de "echo" quand la session n'existe pas
    Bonjour les amis,

    Tout novice dans les sessions, Google m'a trouvé une page qui a eu le mérite de me donner du code à copier/coller qui fonctionne parfaitement. J'aurais pu venir ici chercher ce dont j'avais besoin mais j'ai fait au plus simple.

    Cependant, il y a un tout petit détail qui fait que je n'ai pas 100% des fonctionnalités des scripts en question.

    Dans le code ci-dessous :

    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
    <?php
    // On démarre la session (ceci est indispensable dans toutes les pages de notre section membre)
    session_start ();
     
    // On récupère nos variables de session
    if (isset($_SESSION['login']) && isset($_SESSION['pwd'])) {
     
    	// On teste pour voir si nos variables ont bien été enregistrées
    	echo '<html>';
    	echo '<head>';
    	echo '<title>Page de notre section membre</title>';
    	echo '</head>';
     
    	echo '<body>';
    	echo 'Votre login est '.$_SESSION['login'].' et votre mot de passe est '.$_SESSION['pwd'].'.';
    	echo '<br />';
     
    	// On affiche un lien pour fermer notre session
    	echo '<a href="./logout.php">Déconnection</a>';
    }
    else {
    	echo 'Les variables ne sont pas déclarées.';
    }
    ?>
    si j'ai tué ma session par un logout, je devrais arriver sur l'echo "Les variables ne sont pas déclarées." mais je n'ai rien du tout. J'ai une page blanche à la place, et si je regarde le code de la page, j'ai un "1" en haut à gauche et puis c'est tout.

    Pourquoi, à votre avis ? J'aimerais bien mettre un message propret du style : "Votre session est expirée, veuillez vous reconnecter."

    Merci.

    A++

  2. #2
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Le code de logout de ton site est trompeur et ta session n est pas correctement détruite.
    Prends le code de l exemple 1 du manuel
    http://php.net/manual/fr/function.session-destroy.php

  3. #3
    Membre actif
    Homme Profil pro
    Programmeur fou
    Inscrit en
    Octobre 2010
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Programmeur fou

    Informations forums :
    Inscription : Octobre 2010
    Messages : 342
    Points : 217
    Points
    217
    Par défaut
    merci
    j'ai bien compris la différence
    j'ai appliqué la modif modification mais j'ai toujours une page blanche.
    j'ai vidé le cache (okazou) pareil
    j'ai effacé mes données de session via les paramètres de Chrome et reloadé rechargé un formulaire : page blanche.
    mon formulaire commence par :

    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
    <?php
    /*
    beepzilla_main.php
    This script is called by beepzilla_login.php after identification/authorization
    v1.0-0 12-nov-2014 DMo
    */
     
    // Start Session
    session_start();
     
    if (isset($_SESSION['user']) && isset($_SESSION['pwd']))
    {
    ?>
    <html>
    <head>
    etc.
    et se termine par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    }
    else
    {
    	echo "Veuillez vous identifier pour accéder à ce formulaire".
    	exit;
    }
    Une autre idée, stp s'il te plaît ?
    Merci bcp beaucoup.

  4. #4
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    Affiche ce que ta session a en stock.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    session_start();
    echo '<pre>';
    print_r($_SESSION);
    echo '</pre>';
    if (isset($_SESSION['user']) && isset($_SESSION['pwd']))
    {

  5. #5
    Membre actif
    Homme Profil pro
    Programmeur fou
    Inscrit en
    Octobre 2010
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Programmeur fou

    Informations forums :
    Inscription : Octobre 2010
    Messages : 342
    Points : 217
    Points
    217
    Par défaut
    quand je suis loggué j'ai

    Array
    (
        [user] => mon_user
        [pwd] => mon_password
    )
    quand je me déloggue, j'ai

    Array
    (
    
    )
    EDIT : Eurêka, j'ai un "." à la place du ";" à la fin du echo.
    Toutes mes excuses.
    merci.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/08/2006, 12h19
  2. Réponses: 3
    Dernier message: 09/05/2006, 17h21

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