Déconnexion session

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Déconnexion session

Re: Déconnexion session

par chapt0011 » 07 mai 2014, 10:40

Je dirais que le plus simple est de faire quand tu te connecte
$_SESSION['isadminconnected']=1;
tu affiche ta page administrateur uniquement si ta variable de session est "set":
if(isset($_SESSION['isadminconnected'])){ include('pageadmin.php');}
et pour la déconnexion:
unset($_SESSION['isadminconnected']);

Re: Déconnexion session

par xTG » 05 mai 2014, 16:33

As-tu sur tes pages d'administration un test du genre :
if( empty($_SESSION['userid']) )
{
  echo "Vous devez être connecté pour visionner cette page.";
  exit();
}
Si tu n'as aucune vérification de ce genre tu seras en fait "toujours" connecté.
Car en début de chaque page tu as un session_start().
Tu as donc une session mais qui est vide.

Déconnexion session

par AlrightBabyBoy » 04 mai 2014, 20:42

Bonjour, Je travail sur un petit projet pour mon lycée et j'avais besoin d'une page d'accueil de connexion. Je ne veux pas d'inscription, elle sera faite par l'administrateur à la main dans la BD. J'ai donc programmé cette page d'acceuil :
<?php
include ('fonctions.connect.php');
?>
<head>
  <meta charset="utf-8" />
  <link rel="stylesheet" href="style.css">
  <title>Connexion</title>
</head>
<div>
  <p align="center"><img src="logo.png" alt="logo" id="StEx"/></p>  
</div>
<?php
 $ousername = '';
        //On verifie si le formulaire a ete envoye
        if(isset($_POST['username'], $_POST['password']))
        {
                //On echappe les variables pour pouvoir les mettre dans des requetes SQL
                if(get_magic_quotes_gpc())
                {
                        $ousername = stripslashes($_POST['username']);
                        $username = mysql_real_escape_string(stripslashes($_POST['username']));
                        $password = stripslashes($_POST['password']);
                }
                else
                {
                        $username = mysql_real_escape_string($_POST['username']);
                        $password = $_POST['password'];
                }
                //On recupere le mot de passe de lutilisateur
                $req = mysql_query('select password,id from users where username="'.$username.'"');
                $dn = mysql_fetch_array($req);
                //On le compare a celui quil a entre et on verifie si le membre existe
                if($dn['password']==$password and mysql_num_rows($req)>0)
                {
                        //Si le mot de passe es bon, on ne vas pas afficher le formulaire
                        $form = false;
                        //On enregistre son pseudo dans la session username et son identifiant dans la session userid
                        $_SESSION['username'] = $_POST['username'];
                        $_SESSION['userid'] = $dn['id'];  ?>
                   <?php 
                  if($_POST['username']=='root' && $_POST['password']=='saintex01')
      { 
            header("location: /Admin/index.php" ); ?> 
        
              
               <?php
               }
              else
     {
     
          header("location: /User/index.php" ); ?> 
                  <?php
        }
        
       
        
  }
  else
  {}
}
        
?>      

<body>
  <h2></h2>
  <div class="ribbon"></div>
  <div class="login">
  <h1>Inventory Project</h1>
  <p>Accédez à l'inventaire du matériel et la demande de maintenance</p>
  <form action="index.php" method="post">
    <div class="input">
      <div class="blockinput">
      <input type="text" placeholder="Login"  name="username" id="username">
      </div>
      <div class="blockinput">
      <input type="password" placeholder="Password" name="password" id="password">
      </div>
    </div>
<button>Connexion</button>
  </form>
  </div>
</body>

avec en include ma fonction de connexion à la BD.
http://zupimages.net/viewer.php?id=14/18/47k5.png
Tout marche bien, je me connecte en temps que root, j'arrive sur l'interface administrateur :

http://zupimages.net/viewer.php?id=14/18/2e0f.png

et je voudrais faire un bouton déconnexion sur ma page acceuil d'administrateur pour qu'il puisse se déconnecter une fois finis et retourner à la page de connexion.

J'ai essayé un petit code php sur un bouton :

<?php
session_start();
session_destroy();
header('location: ../index.php');
exit;
?>

Mais il ne se passe rien, une fois redirigé je ne sais pas comment gérer la session sur mes interfaces (pour déconnecter une fois fini).

La page d'acceuil de mon interface administrateur est la suivante ;
<?php
    include('functions.php'); 
?>
<!DOCTYPE html>
<html>
  <head>
    <title>Acceuil</title>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="css/style.css" />
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  </head>

  <body>
    <div id="bloc_page">
            <header>
                <!-- Bannière -->
                <div id="logo_raiatea">
                    <img src="banniere.png" alt="StEx" id="StEx" />
            </div>
                  <!-- Menu  -->
                <nav>
                      <ul>
                        <li><a href="index.php">Accueil</a></li>
                        <li><a href="salle.php">Salle</a></li>
                        <li><a href="materiel.php">Matériel</a></li>
		                  	<li><a href="logiciel.php">Logiciel</a></li>
                        <li><a href="Inventaire.php">Inventaire</a></li>
			                  <li><a href="Config.php">Config</a></li>
                        <li><a href="Visualiser.php">Visualiser</a></li>
                    </ul>
                </nav>
            </header>
     </header>
 <!-- Début du texte de présentation -->
            <section>
                <aside>
                        <img src="tiare.png" alt="StExupery" title="StEx" width="220" height="240">          
                </aside>
                <article>
                    <h1>Interface administrateur</h1>

                  <P>Par le biais de l'inventaire, nous pourrons placer du matériel dans des salles et de le visualiser.</p>
                  <P>Avec la page de config, on pourra rentrer dans la base les logiciels installés sur le matériel à une date précise et de le visualiser.</p>
                  <P>Nous pouvons visualiser la base de donnée sur la page visualiser.</p>
                       
                             
                </article>    
            </section>
            <br></br>
            <br></br>
        <footer>

                        <p class="ligne_dessus"> Réalisé par Thomas Kraëber. </p>
    
                        <p class="barre"></p>  

        </footer>
        </div>
    </body>
</html>

cela fait un ptit bout de temps que je cherche. Merci d'avance.