Souci de connexion et déconnection

Bonjour à tous je début en html et php j’ai fait une page je me connecte ensuite je clique sur déconnecter je reviens sur la page d’acceuil mais le problème quand je clique sur le retour qui se trouve sur le navigateur du coup je me retrouve connecter automatiquement sans même saisir les informations pour être identifier. Pourrai avoir un coup de mains svp !

5 réponses

  1. Dans cette logique normalement toute la partie du code ce qui devrait nécessiter la connexion pour y avoir accès sera entre les balises :
    if(isset($_SESSION['id']))
    {
    // ici
    }
    


    Est ce que tu fais un unset($_SESSION['id']) pour la déconnexion ?

    Afin de supprimer ta variable de session et d'être sûr que l'utilisateur ne pourra plus avoir accès à ces données ?
    Normalement avec cet unset, tu peux revenir en arrière tant que tu veux, si la variable de SESSION de l'utilisateur n'existe plus, il ne pourra pas avoir accès à la partie "connectée".
    1
    1. Est ce que tu utilises les SESSIONS pour te connecter ?
      Quelles sont tes étapes pour la connexion et pour la déconnexion ?
      Peux-tu nous montrer un peu ton code si besoin ?
      0
      1. <!DOCTYPE html>
        <html>
        <head>
            <title>connexion administrateur</title>
            <link rel="stylesheet" href="css/style.css" >
        </head>
        
        <bod>
            
            <form method="post" action="#"> 
        <body onLoad="window.location.href = '#openModal';"> 
            <div id="openModal" class="modalDialog">
                <div>
                    <a href="../index.php" title="Close" class="close">Fermer</a>
                  <h2>Espace administrateur</h2>
           <table border="0">
         
             <tr><td>Speudo:<td><input type="text" name="speudo"  placeholder="Votre Speudo">
               </tr>
             <tr><td>Mot de passe:</td>
               <td><input type="passord" name="password" ></td>
             </tr>
               <?php
            
            if(isset($_POST['valider']))
            {
               $speudo=htmlentities(trim($_POST['speudo']));
               $password=htmlentities(trim($_POST['password']));
               if($speudo&&$password)
               {
                
               } else echo '<h6><font color="red">remplissez tous les champs svp!!</font></h6>';
            }
            
            ?>
             <?php
           session_start();
        // Connexion a la base de Données
        $server="localhost";
        $user="root";
        $password="";
        $bd="gestion";
        mysql_connect($server,$user,$password) or die ("connexion à MYSQL");
        mysql_select_db($bd) or die ("Base de données");
         // Test de l'envoi du formulaire
          if(!empty($_POST['valider'])) 
          {
          $speudo=$_POST['speudo'];
          $mot_de_passe=$_POST['password'];
            if(!empty($_POST['speudo']) && !empty($_POST['password'])) 
              {
           
           $sql='SELECT id_admin FROM administrateur WHERE speudo="'.$speudo.'" AND mot_de_passe="'.$mot_de_passe.'"';
           $req= mysql_query($sql);
           $nbre=mysql_num_rows($req);
           if($nbre==1)
           {
           $data= mysql_fetch_array($req);
           $id=$data['id_admin'];
               // On crée l'id en session
         $_SESSION['id'] = $id;
                // On redirige vers le fichier index.php  
          header('Location:index.php');   
              }
                else
            {
              echo'<h6><font color="red">Speudo ou Mot de passe incorrect</font></h6>';
         
            }
          }
         
           }
        
        ?>
         </table>
                  <br>
                  <div class="option_valider">
                  <input type ="submit" name="valider" value="valider">
                </div>
            </div>
                
        </form>
        </body>
        </html>
        
        


        EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
        Explications disponibles ici : ICI

        Merci d'y penser dans tes prochains messages.
        0
        1. Modérateur
          Bonjour,

          Par contre,
          penses à séparer ton PHP de ton HTML (en le placant avant par exemple)

          Un truc du genre :

          Sépares ta connexion à ta BDD en le mettant
          dans un fichier à part que tu n'auras qu'à inclure lorsque tu en auras besoin :
          <?php
          // Fichier cnxBDD.php
          // Connexion a la base de Données
          $server="localhost";
          $user="root";
          $password="";
          $bd="gestion";
          mysql_connect($server,$user,$password) or die ("connexion à MYSQL");
          mysql_select_db($bd) or die ("Base de données");
          ?>
          


          <?php
          //Démarrage des SESSIONS
          session_start();
          
          //Connexion à la BDD (import du fichier de connexion à la BDD)
          require_once 'cnxBDD.php';
          
          
          //Traitement de ton submit :
          
          if(isset($_POST['valider']){
          	 $speudo=!empty($_POST['speudo']) ? htmlentities(trim($_POST['speudo'])) : NULL;
          	 $password=!empty($_POST['password']) ? htmlentities(trim($_POST['password'])) : NULL;
          	 
          	 if( !$speudo && !$password){
          		 $msg = '<h6><font color="red">remplissez tous les champs svp!!</font></h6>';
          	 }else{
          		 
               $sql='SELECT id_admin FROM administrateur WHERE speudo="'.$speudo.'" AND mot_de_passe="'.$mot_de_passe.'"';
               $req= mysql_query($sql);
               $nbre=mysql_num_rows($req);
              if($nbre==1){
          			$data= mysql_fetch_array($req);
          			$id=$data['id_admin'];
          			// On crée l'id en session
          			$_SESSION['id'] = $id;
          			// On redirige vers le fichier index.php  
          			header('Location:index.php');   
          
              }else{
                $msg = '<h6><font color="red">Speudo ou Mot de passe incorrect</font></h6>';
              }		
          	 }
          
          }
          ?>
          
          ?>
          <!DOCTYPE html>
          <html>
          <head>
              <title>connexion administrateur</title>
              <link rel="stylesheet" href="css/style.css" >
          </head>
          
          <bod>
              
              <form method="post" action="#"> 
          <body onLoad="window.location.href = '#openModal';"> 
              <div id="openModal" class="modalDialog">
                  <div>
                      <a href="../index.php" title="Close" class="close">Fermer</a>
                    <h2>Espace administrateur</h2>
             <table border="0">
           
               <tr>
          		   <td>Speudo:<td><input type="text" name="speudo"  placeholder="Votre Speudo">
               </tr>
               <tr>
          		   <td>Mot de passe:</td>
                 <td><input type="passord" name="password" ></td>
               </tr>
                
               
           </table>
                    <br>
                    <div class="option_valider">
                    <input type ="submit" name="valider" value="valider">
                  </div>
              </div>
                  
          </form>
          </body>
          </html> 
           


          PS: Merci de lire ceci :
          https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

          0
          1. excusez moi mais cela ne passe toujours pas!!
            0
            1. On ne sait pas ce que tu as testé, ni même où est désormais le problème.
              Si la seule infos que tu donnes se résume à "ça ne marche pas", on ne peux juste pas répondre.
              0