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 :

Changer le navbar si c est un membre ou un visiteur


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut Changer le navbar si c est un membre ou un visiteur
    bonjour a tous
    pour commencer je suis nul , mais je commence a apprendre

    je souhaiterais que quand le visiteur se connecte il puisse voir inscription et connexion et qu une fois inscrit il ne voit plus que déconnexion

    j ai tente plusieurs codes , mais cela ne semble pas fonctionner

    voici ce que j ai pour l instant
    merci pour l aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        <?php
     include('database.php');
    if(!empty($_SESSSION['id'])){
        echo "Menu connecté";
    }
    else{
        echo "Menu normal";
     
    }
    ?>

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 391
    Points : 4 806
    Points
    4 806
    Par défaut
    Bonjour,

    Ajoutes session_start(); tout au début de la page pour activer la session.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    bonjour
    merci pour la réponse
    donc juste en ajoutant session_start();
    au début cela va fonctionner
    mon code est bon alors ?

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 391
    Points : 4 806
    Points
    4 806
    Par défaut
    Bonjour,

    Le code est bon si bien-sûr la valeur de $_SESSION["id"] est bien définie.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    merci pour la réponse

    comment je pourrais définir cette session id
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php 
     
    $_SESSION['id'] = id ; 
     
     ?>

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 391
    Points : 4 806
    Points
    4 806
    Par défaut
    Bonjour,

    Normalement tu passes par un formulaire de connexion avec deux input de type (text,password) et un bouton de type submit, et lorsqu'on appuie sur ce bouton, le formulaire est soumis soit vers la même page de la connexion ou bien vers une autre, ensuite :

    -Tu récupères les valeurs des inputs avec $_POST ou $_GET en fonction des attributs name.
    -Tu exécutes une requête mysql pour voir si les valeurs existent dans la base de donnée, si c'est ok tu sauvegarde la valeur de l'id utilisateur par exemple dans $_SESSION["id"] puis tu rediriges l'utilisateur vers la page index sinon, tu renvois les erreurs.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    bonjour

    merci pour l aide
    désolé mais tout cela est encore un peu chinois pour moi

    je pense que je vais donc faire des essais ou alors m inspirer d un exemple bien concret

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    je reviens de faire un essai mais en vain

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php         
    mysql_connect("localhost", "root","" );//on se connecte à MySQL    
    mysql_select_db("crud"); // on selectionne la base  
    //On verifie si une session est deja ouverte  
    if (isset($_SESSION['pseudo']))  
    {  
    //on affichera un message d’erreur interdisant l'inscription  
    exit("<p>Quelqu’un est déjà connecté via cet ordinateur, si n’est pas vous, veuillez lui deconnecter  
     pour vous inscrire</p>");  
    }  
    ?>

  9. #9
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 391
    Points : 4 806
    Points
    4 806
    Par défaut
    Bonjour,

    Déjà l'api mysql est obsolète, il faut utiliser soit mysqli ou bien PDO.

    Voilà un exemple très basic en PDO :

    Le fichier connexion.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php 
    try{
       $bdd=new PDO("mysql:host=localhost;dbname=nom_de_la_base;charset=utf8","username db","mot de passe db",[PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION]);
    }catch(PDOException $e){
       die("Erreur de connexion à la base :".$e->getMessage());
    }
    La page index.php :
    Code php : 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 
    session_start(); 
    include("connexion.php");
    ?>
    <!DOCTYPE html>
    <html lang="fr">
    <head>
        <meta charset="UTF-8" />
        <title>Se connecter</title>
    </head>
    <body>
    <form mathod="post">
       <label>Username :</label><input name="username" type="text" />
       <label>Password :</label><input name="password" type="password" />
      <button type="submit" name="login">Connexion</button>
      <?php 
          if(isset($_POST["login"])){
            $query="select * from table where username=:user and password=:pass"; 
            $stmt=$bdd->prepare($query);
            $stmt->execute([":user"=>$_POST["username"],":pass"=>$_POST['password']]);
            $data=$stmt->fetch();
            if($stmt->rowCount()>0){
               echo "Bienvenu <b>".$data['username']."</b>";
               $_SESSION["id"]=$data['user_id'];
            }else{//là pas ok
               echo "identification échouée !";
            }
          }
       ?>
    </form>
    </body>
    </html>

    Je n'ai pas testé le code, mais en gros le principe est le même.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    348
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 348
    Points : 54
    Points
    54
    Par défaut
    bonjour
    un tout grand merci pour le code c est super gentil en meme temps j ai trouve ceci
    mettre en debut de page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
    session_start();
     
    ?>
    puis a l endroit souhaite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php if (isset($_SESSION['id'])) { ?>
     
                                    <li><a href="profil.php"> Accueil </a></li>
                                    <li><a href="déconnexion.php"></a>deconnexion</li>
    <?php } 
    else { ?>
     
                                    <li><a href="connexion.php"> connexion  </a></li>
                                    <li><a href="inscription.php"></a>inscription</li>
       <?php } ?>`

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/08/2008, 00h24
  2. Réponses: 7
    Dernier message: 29/06/2008, 13h57
  3. Drawing n'est pas membre de System! Au secours
    Par li_causi dans le forum C++/CLI
    Réponses: 2
    Dernier message: 27/03/2008, 01h31
  4. Réponses: 1
    Dernier message: 24/11/2006, 17h09
  5. Réponses: 8
    Dernier message: 06/07/2006, 02h15

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