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

PHP & Base de données Discussion :

cacher des boutons apres une connexion


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2018
    Messages : 8
    Points : 2
    Points
    2
    Par défaut cacher des boutons apres une connexion
    bonjour,
    je galère depuis un moment avec code php.
    en fait je développe un site internet sur lequel se trouve un espace membre,
    j'aimerais cacher les boutons 'inscription/connexion' quand le membre et connecté,
    les afficher quand aucune session n'est ouverte.
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <?php
    $bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
     
    if(isset($_GET['id']) AND $_GET['id'] > 0) {
     
       $getid = intval($_GET['id']);
     
       $requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
     
       $requser->execute(array($getid));
     
       $userinfo = $requser->fetch();
     
    ?>
     
          <div class="profil" align="center">
     
             <h2>Profil de <?php echo $userinfo['pseudo']; ?></h2>
     
             <br />
     
             Pseudo = <?php echo $userinfo['pseudo']; ?>
     
             <br />
     
             Mail = <?php echo $userinfo['mail']; ?>
     
             <a href="index.php">Se déconnecter</a>
     
             <br />
     
                        }
     
      <?php
     
             if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id']) {
     
             ?>
     
             <a href="index.php">Se déconnecter</a>
     
             <?php
     
             }else {
     
                         $erreur = "Vos mots de passes ne correspondent pas !";
     
                      }
     
             ?>
     
          </div>
     
    <?php
     
    }
     
    ?>
     
      <li><a href="Connexion.php">Connexion</a></li>
     
      <li><a href="inscription.php">Inscription</a></li>

  2. #2
    Membre averti
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 379
    Points : 358
    Points
    358
    Par défaut
    Salut,
    Comment gères tu la détection si l'utilisateur est connecté?

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2018
    Messages : 8
    Points : 2
    Points
    2
    Par défaut merci de repondre
    je pense que c'est là le probleme, je ne sait pas comment faire la detection.
    please help !!!!

  4. #4
    Membre averti
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 379
    Points : 358
    Points
    358
    Par défaut
    As tu déjà travaillé avec les $_SESSIONS?

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2018
    Messages : 8
    Points : 2
    Points
    2
    Par défaut premiere fois
    heu !!! je suis un nouveau développeur et je suis à ma première utilisation des sessions,
    j'ai réussi à connecter/déconnecter des membres mais le bouton connexion/inscription reste visible même quand un membre est connecté.
    alors que normalement quand un membre est connecté ces boutons ne doivent être visibles. je galère fort en ce moment sur ça.

  6. #6
    Membre averti
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 379
    Points : 358
    Points
    358
    Par défaut
    Citation Envoyé par akanza Voir le message
    heu !!! je suis un nouveau développeur et je suis à ma première utilisation des sessions,
    j'ai réussi à connecter/déconnecter des membres mais le bouton connexion/inscription reste visible même quand un membre est connecté.
    alors que normalement quand un membre est connecté ces boutons ne doivent être visibles. je galère fort en ce moment sur ça.
    C'est justement ce que j'essaye de t'apprendre quand tu rafraichis ta page l'utilisateur est considéré comme encore connecté?

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2018
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Oui
    L'utilisateur reste toujours connecté quand j'actualise

  8. #8
    Membre averti
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 379
    Points : 358
    Points
    358
    Par défaut
    Citation Envoyé par akanza Voir le message
    L'utilisateur reste toujours connecté quand j'actualise
    oki comment geres tu cela?

  9. #9
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2018
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Une page de connexion
    Ya d'abord une page de connexion.quand l'utilisateur entre des données correctes,il est automatiquement redirigé vers l'index du site ou se trouve un "session_start();
    Et un script permet de lire dans la bdd et afficher les coordonnées de l'utilisateur

  10. #10
    Membre averti
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 379
    Points : 358
    Points
    358
    Par défaut
    Voila,
    Alors donc pour commencer tout en haut de la page que l'utilisateur visite tu dois mettre session_start();
    ensuite comment confirmes tu la connexion quand l'utilisateur a entré les bonnes données de connexion (pseudo et mot de passe)?
    Comprends tu comment fonctionnes les sessions (le session_start())?

  11. #11
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2018
    Messages : 8
    Points : 2
    Points
    2
    Par défaut je comprends comment le session-start fonctionnenent
    quand l'utilisateur a entré les bonnes donneés,
    j'utilise de variables $_SESSION[''] pour afficher son login et son mail

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      $_SESSION['id'] = $userinfo['id'];
             $_SESSION['pseudo'] = $userinfo['pseudo'];
             $_SESSION['mail'] = $userinfo['mail'];

  12. #12
    Membre averti
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 379
    Points : 358
    Points
    358
    Par défaut
    Citation Envoyé par akanza Voir le message
    quand l'utilisateur a entré les bonnes donneés,
    j'utilise de variables $_SESSION[''] pour afficher son login et son mail

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      $_SESSION['id'] = $userinfo['id'];
             $_SESSION['pseudo'] = $userinfo['pseudo'];
             $_SESSION['mail'] = $userinfo['mail'];
    Enfait quand tu entre session_start();
    tu indiques au script que tu vas utiliser les $_sessions ce que tu dois faire quand tu confirmes que les login et le mot de passe de l'utilisateur sont correct tu peux créer ce qu'on appel une variable session

    un variable session est un peu comme une variable globale dans d'autre langages. Cette variable est donc géré coté serveur et elle durera durant tout le long de la connexion entre ton navigateur et le site (càd temps que tu ne fermes pas toutes les pages de ton navigateur (sauf erreur de ma part) les sessions enregistrés seront gardé coté serveur) sauf si tu les détruits.
    donc une fois que tu valides les connection (login et passe)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if($login et $pass sont correct)
    $_SESSION("canard") = "j_accepte";//je crée une variable session canard et je la mets en positif
    // ce qui fait que je n'ai plus qu'a tester autre part si cette variable existe ainsi qu'elle val la même valeur que je lui ai donnée
    donc apres quand tu veux vérifier si quequ'un est connecté tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if($_session["canard"] && $_SESSION['canard'] == "j_accepte")
        echo "connecté";
    C'est d'ailler ce que tu as fais.
    maintenant pourrais tu m'expliquer ce que tu fais dans tes lignes de 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
    $bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
     
    if(isset($_GET['id']) AND $_GET['id'] > 0) {
    	$getid = intval($_GET['id']);
    	$requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
    	$requser->execute(array($getid));
    	$userinfo = $requser->fetch();
    ?>
    <div class="profil" align="center">
    	<h2>Profil de <?php echo $userinfo['pseudo']; ?></h2>
    	<br />
    	Pseudo = <?php echo $userinfo['pseudo']; ?>
    	<br />
    	Mail = <?php echo $userinfo['mail']; ?>
    	<a href="index.php">Se déconnecter</a>
    	<br />
    <?php
    }
    if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id']) {
    ?>
    	<a href="index.php">Se déconnecter</a>
    <?php
    }else {
    	$erreur = "Vos mots de passes ne correspondent pas !";
    }
    ?>
    </div> 
    <?php
    }
    ?>
    <li><a href="Connexion.php">Connexion</a></li>
    <li><a href="inscription.php">Inscription</a></li>

  13. #13
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2018
    Messages : 8
    Points : 2
    Points
    2
    Par défaut d'accord
    je tester et je reviens

  14. #14
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Si $_SESSION['id'] n'est définie que lorsqu'un utilisateur est connecté, pour cacher un bloc si l'utilisateur est connecté il te suffit de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php if(!isset($_SESSION['id']))
    { ?>
    <div>mon bouton de connexion</div>
    <?php } ?>
    Attention n'utilise 'AND' qu'en connaissance de cause, car cela peut prêter à confusion dans certains cas, utilise '&&' à la place pour un comportement standard. De même on utilise pas 'OR' (sauf en connaissance de cause dans certains cas particuliers) mais '||'.

  15. #15
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2018
    Messages : 8
    Points : 2
    Points
    2
    Par défaut toujours pas
    je pense qu'une video serait plus adaptée pour mieux me faire comprendre

Discussions similaires

  1. [BATCH] lancer des commandes après une connexion ssh et smbclient
    Par floctc dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 16/06/2015, 19h05
  2. Perte des données après une clic sur bouton
    Par bihakia89 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 15/05/2012, 18h04
  3. Pouvoir gérer les actions des boutons dans une classe
    Par Cyborg289 dans le forum Composants
    Réponses: 2
    Dernier message: 08/07/2005, 13h08
  4. gestion des boutons d'une manette : relachement
    Par backfire dans le forum DirectX
    Réponses: 1
    Dernier message: 05/01/2005, 11h13

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