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 :

changer des éléments selon l’état de connexion [PHP 4]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 14
    Points : 7
    Points
    7
    Par défaut changer des éléments selon l’état de connexion
    actuellement je travaille sur la gestion des utilisateurs, dans le cas où l'utlilisateur est connecté son nom apparaît en haut de page avec un lien de déconnexion devant sinon ça s'afficher seulement un lien pour l'authentification et autre pour la création d'un compte voici mon code.

    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 if(isset($_SESSION['niv']) && !empty($_SESSION['niv'])){?>
                    <ul class="acc_nav">
     
                                <!-- verification de l'état de connexion -->
                                <li><span class="user">Bienvenue <strong>Saad Berrada</strong></span>        &nbsp;&nbsp;|</li>
                                <li id="un-login"><a href="#"><span>Me déconnecter</span></a>
     
                    </ul>
                <?php }  else {?>
                    <ul class="acc_nav">
                                <li><a href="http://localhost/CVtheque/View/Carriere.php"><span>Se connecter</span>        &nbsp;&nbsp;|</a></li>                      
                                <li><a href="" data-reveal-id="myModal_197"><span>Créer un compte</span></a></li>
                        </li>
                </ul>
                <?php }?>
    même si je passe par l'authentification, c'est seulement le deuxième bloc qui s'affiche !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Deja isset est redondant avec !empty donc simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if (!empty($_SESSION['niv'])){?>
    Ensuite pour ton problème, si ton tombe dans le cas else, et bien c'est que, $_SESSION['niv'] n'est pas rempli.
    Donc contrôle ce que contiens ta session
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    en utilisant ça retourne un message "Undefined variable: _SESSION"

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as bien mis un ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    le message
    Undefined variable: _SESSION
    ne s'affiche plus mais quand je passe par l'authentification, les liens d'authentification/ Inscription restent toujours visibles

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et que donne le var_dump ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    ça affiche
    array (size=1)
    'niv' => null

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    voici le code que j'utilise dans l'authentification
    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
    <?php
     
            require_once 'Connexion.php';
            $c = new Connexion();
            $e = $_POST['email_ca'];
            $p = md5($_POST['pass_ca']);
            $c->query("select id_candidat from candidat where email='" .$e. "' and pass='" .$p. "'");
            $rs = $c->single();
     
          if($u = $rs){
            session_start();
            $_SESSION['niv'] = $u['niveau'];
            header("location:home.php?$e");
        } else {
            ob_start();
            echo 'Email ou mot de passe inccorect';
            header("refresh: 2;location:login-signup.php");
            ob_flush();
        }

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est quoi $u ?

    tu sais que le nom d'un variable peut faire plus de 1 caractère ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    je comprend pas pourquoi la session est nulle

  11. #11
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    @sabotage : $u, c'est $rs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $rs = $c->single();
    if($u = $rs){
        session_start();
        $_SESSION['niv'] = $u['niveau'];
        header("location:home.php?$e");
    }
    Si ça t'affiche null pour $_SESSION['niv'], c'est que $rs['niveau'] était null. Ce qui est assez logique vu que ta requête ne récupère pas la colonne niveau, mais uniquement id_candidat
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    que dois-je faire ?

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    $u, c'est $rs.
    Ca ressemblait à une tentative de verification de mot passe vu le else.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    j'ai résolu le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $rs = $c->single();
    while($u = $rs){
        session_start();
        $_SESSION['niv'] = TRUE;
        header("location:home.php?$e");
    }

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

Discussions similaires

  1. parcourir une liste et supprimer des éléments selon une condition
    Par jean-pat dans le forum Général Python
    Réponses: 17
    Dernier message: 17/03/2017, 22h07
  2. [Débutant] supprimer des éléments selon leur type
    Par r0d dans le forum C#
    Réponses: 10
    Dernier message: 22/06/2011, 09h24
  3. Changer un élément selon le css courant
    Par Kazy15 dans le forum jQuery
    Réponses: 3
    Dernier message: 30/11/2010, 14h35
  4. Compter des éléments selon une condition
    Par oli43 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 26/08/2009, 11h47
  5. [SSRS]Changer des couleures selon critères
    Par Lyche dans le forum SSRS
    Réponses: 1
    Dernier message: 22/07/2008, 17h56

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