Partage
  • Partager sur Facebook
  • Partager sur Twitter

Bouton connexion|déconnexion avec condition

    30 septembre 2021 à 21:50:56

    Bonjour, je voudrais realiser un boutton (dans mon menu de navigation) qui afficher "Deconnexion" quand l'utilisateur est connecté et "Se connecter" quand personne n'est connecté, pouvez vous m'aider svp. La page index.php sert uniquement de page de connexion, la ou je voudrais mettre ses boutons son sur la page "nsi.php" et "welcome.php". Et au cas ou je ne m'y connais presque pas en php.

    Voila ce que j'ai mais je ne comprends pas pourquoi ça ne fonctionne pas.

    index.php :

    <?php 
    
    include 'config.php';
    
    session_start();
    
    error_reporting(0);
    
    if (isset($_SESSION['username'])) {
        
    }
    
    if (isset($_POST['submit'])) {
    	$email = $_POST['email'];
    	$password = md5($_POST['password']);
    
    	$sql = "SELECT * FROM users WHERE email='$email' AND password='$password'";
    	$result = mysqli_query($conn, $sql);
    	if ($result->num_rows > 0) {
    		$row = mysqli_fetch_assoc($result);
    		$_SESSION['username'] = $row['username'];
    		header("Location: welcome.php");
    	} else {
    		echo "<script>alert('Woops! Email or Password is Wrong.')</script>";
    	}
    }
    
    ?>
    
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8">
    	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    	<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
    
    	<link rel="stylesheet" type="text/css" href="style_1.css">
    
    	<title>Connexion</title>
    </head>
    <body>
    
    	<div class="container">
    		<form action="" method="POST" class="login-email">
    			<p class="login-text" style="font-size: 2rem; font-weight: 800;">Connexion</p>
    			<div class="input-group">
    				<input type="email" placeholder="Mail" name="email" value="<?php echo $email; ?>" required>
    			</div>
    			<div class="input-group">
    				<input type="password" placeholder="Mot de passe" name="password" value="<?php echo $_POST['password']; ?>" required>
    			</div>
    			<div class="input-group">
    				<button name="submit" class="btn">Connexion</button>
    			</div>
    			<p class="login-register-text">Vous n'avez pas de compte? <a href="register.php">Inscription</a>.</p>
    		</form>
    	</div>
    </body>
    </html>

    nsi.php

    <?php 
    
    session_start();
    
    if (!isset($_SESSION['username'])) {
        
    }
    
    
    
    
    ?>
    
    
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>nsi_si_damas</title>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" />
        <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
        <link rel="stylesheet" href="style.css">
        <meta name="viewport" content="width=device-width">
    </head>
    
    <body>
        <header id=header>
            <div class="inner-width">
              <h1>Bienvenue</h1>
              <ul class="navigation">
                <li><a href="index.html">acceuil</a></li>
                <li><a href="#">a propos</a></li>
                <li><a href="#">contact</a></li>
                <?php if (isset($_SESSION['username']) && $_SESSION['username']==1): ?>      
                    <li><a href="nsi.html" class="btn  btn-danger">Deconnexion</a></li>                           
                <?php else: ?>                          
                    <li><a href="index.php" class="">Se connecter</a></li>                       
                <?php endif ?>
            </ul>
            </div>
        </header>
        
    
    <div class="container">
            
      <div class="col">
          
      <div class="row">
          
          <div class="col">
            <a href="index.php">
              <div class="card card3 ">
                <h3>NSI</h3>
              </div>
            </a>
              
          </div>
    
      </div>
    </body>
    </html>

    welcome.php

    <?php 
    
    session_start();
    
    if (!isset($_SESSION['username'])) {
    }
    
    
    
    
    ?>
    
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>nsi_si_damas</title>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" />
        <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
        <link rel="stylesheet" href="style.css">
        <meta name="viewport" content="width=device-width">
    </head>
    
      <body>
        </div>
    
    
        <header id="header">
          <div class="inner-width">
            <h1>Bienvenue</h1>
            <ul class="navigation">
                <li><a href="index.html">acceuil</a></li>
                <li><a href="#">a propos</a></li>
                <li><a href="#">contact</a></li>
                <?php if (isset($_SESSION['username']) && $_SESSION['username']==1): ?>      
                    <li><a href="nsi.php" class="btn  btn-danger">Deconnexion</a></li>                           
                <?php else: ?>                          
                    <li><a href="index.php" class="">Se connecter</a></li>                        
                <?php endif ?>
            </ul>
          </div>
        </header>
    
          <div class="container">
            <div class="col">
              <!-- <a href="logout.php">Logout</a> -->
    
            </div>
            
    
        </div>
      </body>
    </html>

    si vous avez besoin des autres page en php n'hesitez pas.

    Merci d'avance.



    • Partager sur Facebook
    • Partager sur Twitter
      2 octobre 2021 à 23:19:03

      Salut. C'est simple, SI la SESSION username existe => afficher Deco', sinon afficher connexion.
      Par contre, oubli vite md5 => password_hash(), password_verify(), et prepare tes requetes
      • Partager sur Facebook
      • Partager sur Twitter
        4 octobre 2021 à 22:38:40

        Koyuki Tanaka a écrit:

        Salut. C'est simple, SI la SESSION username existe => afficher Deco', sinon afficher connexion.
        Par contre, oubli vite md5 => password_hash(), password_verify(), et prepare tes requetes


        Salut, merci de ta réponse, pourrais tu me dire ce que cela donne en code s'il te plait ?

        Cad preparer mes requettes ?

        Et merci pour le md5 ;)

        -
        Edité par 0rM4xc00lXXIV 4 octobre 2021 à 23:59:58

        • Partager sur Facebook
        • Partager sur Twitter
          4 octobre 2021 à 23:41:47

          Préparer les requêtes permet d'éviter les attaques par injection SQL sur ton site web (plus de détails sur la documentation : https://www.php.net/manual/fr/pdo.prepare.php). Regarde les exemples pour savoir comment les écrire.

          Concernant les boutons, le bout de code sera le suivant :

          <?php if(isset($_SESSION['username'])) { ?>
            <li><a href="nsi.php" class="btn  btn-danger">Deconnexion</a></li>
          <?php } else { ?>
            <li><a href="index.php" class="">Se connecter</a></li>
          <?php } ?>

          Si tu as le temps, tu devrais regarder les cours sur le PHP. Je pense que ça t'aidera beaucoup pour la suite. ;)

          -
          Edité par Omiganox 4 octobre 2021 à 23:44:56

          • Partager sur Facebook
          • Partager sur Twitter
            5 octobre 2021 à 18:52:10

            Omiganox a écrit:

            Préparer les requêtes permet d'éviter les attaques par injection SQL sur ton site web (plus de détails sur la documentation : https://www.php.net/manual/fr/pdo.prepare.php). Regarde les exemples pour savoir comment les écrire.

            Concernant les boutons, le bout de code sera le suivant :

            <?php if(isset($_SESSION['username'])) { ?>
              <li><a href="nsi.php" class="btn  btn-danger">Deconnexion</a></li>
            <?php } else { ?>
              <li><a href="index.php" class="">Se connecter</a></li>
            <?php } ?>

            Si tu as le temps, tu devrais regarder les cours sur le PHP. Je pense que ça t'aidera beaucoup pour la suite. ;)

            -
            Edité par Omiganox il y a environ 19 heures

            Ca marche merci beaucoup pour l'info et le code, oui je pense que j'en ai bien besoin



            • Partager sur Facebook
            • Partager sur Twitter
              5 octobre 2021 à 21:55:47

              0rM4xc00lXXIV a écrit:

              Ca marche merci beaucoup pour l'info et le code, oui je pense que j'en ai bien besoin

              Bonjour,

              Sujet résolu

              Tu peux passer le sujet à "résolu" (bouton en haut à droite du sujet) et cliquer sur les pouces levés des messages qui t'ont aidé⋅e ;)

              • Partager sur Facebook
              • Partager sur Twitter

              Bouton connexion|déconnexion avec condition

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown