Comment déconnecter un utilisateur en php?

Je vais faire un système de connexion et j'ai juste réussi à le faire travailler, et maintenant, je vais avoir du mal à faire un logout fonctionnalité pour mon site web. Son non hébergées, de sorte que la sécurité sera pour plus tard. J'ai essayé les différentes utilisations de l'session_destroy et unset, mais je ne peux pas le faire fonctionner. Toute aide serait appréciée.

Mon PHP

<?php
session_start();
/*This is the equivalent of login.php*/
$database = "forum";  //the name of the database.
$server = "localhost";  //server to connect to.
$db_user = "root";  //mysql username to access the database with.
$db_pass = "";  //mysql password to access the database with.
$table = "members";    //the table that this script will set up and use.
$link = mysql_connect($server, $db_user, $db_pass);
mysql_select_db($database,$link);

if (isset($_POST['fsubmitted'])) {
//Get the data passed from the form
$username = $_POST['username'];
$pass = $_POST['pass'];

//Do some basic sanitizing
$username = stripslashes($username);
$pass = stripslashes($pass);
$encryptedpass = md5($pass);

$sql = "SELECT * from members where username = '$username' and password = '$encryptedpass'";
$result = mysql_query($sql);


$count = 0;

$count = mysql_num_rows($result);

if ($count == 1) {
     $_SESSION['loggedIn'] = "true";
    header("Location: index.php"); //This is wherever you want to redirect the user to
    exit();

} else {
     $_SESSION['loggedIn'] = "false";
     echo '<div class="errormsgbox">Your username and password combo was incorrect!</div>';
     var_dump($result);
    echo $sql;
}
}

if ($_SESSION['loggedIn'] = "true") {
    echo '<div class="success">You are now logged in!</div>';
}

if (isset($_SESSION['loggedin']) && (time() - $_SESSION['loggedin'] > 1800)) {
    //last request was more than 30 minutes ago
    session_unset();     //unset $_SESSION variable for the run-time 
    session_destroy();   //destroy session data in storage
}
$_SESSION['loggedin'] = time(); //update last activity time stamp

?>
  • Notez que MYSQL_* fonctions sont amortis. Vous devez utiliser MYSQLI ou PDO.
  • La sécurité devrait être là tout au long de ne pas venir après.
  • Où en êtes-vous le début de la session?
  • Première manquant et le plus important élément: session_start();. Je vous laisse regarder les réponses ci-dessous.
  • Où dois le session_start(); aller?
  • (la plupart du temps) doit être placée en première ligne, après l'ouverture <?php tag.
  • OK, j'ai ajouté le démarrage de la session, au début de mon code.
  • - Je le prendre que vous vous adressez à moi maintenant. S'il vous plaît ajouter le @ symbole suivie par mon nom à l'adresse à moi personnellement. Maintenant, vous pouvez continuer avec les réponses qui vous ont été fournis ci-dessous.
  • Voir cette réponse sur DONC pour un logout méthode stackoverflow.com/a/12209491/1415724 (Après Googler "bouton de déconnexion de session php") clin d'oeil
  • regarde ma réponse

InformationsquelleAutor Zippylicious | 2013-07-30