Souci de connexion et déconnection

delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   -  
Yuh12 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   -
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

Yuh12 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   24
 
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
Yuh12 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   24
 
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
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
<!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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   48
 
excusez moi mais cela ne passe toujours pas!!
0
Yuh12 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   24
 
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