PHP Session Destroy sur le bouton de déconnexion
Je suis actuellement en train de travailler sur un site qui dispose d'un login (nom d'utilisateur et mot de passe) - La protection par mot de passe est effectuée par le système d'exploitation sur le serveur web au niveau de dossier appelé un Royaume à l'intérieur de l'OS. Pour l'instant ce faire, jusqu'à ce que nous trouver un bon PHP journal dans le système.
Le code ci-dessous, est basée sur un question précédente sur le débordement de la pile.
Je suis à l'aide de 3 fichiers (Voir des extraits de code en bas).
Le processus est le suivant:
- Cliquez sur le bouton ouvrir une session sur index.php
- Entrer le nom d'utilisateur et le mot de passe pour accéder à authentifier fichier d'index.
- Cliquez sur déconnexion bouton, qui fait référence à la logout.php fichier - il est conseillé de désactiver le cache et le retour à l'utilisateur de haut niveau de l'indice.
Il n'a pas de "détruire la session" dans le sens que vous n'êtes pas invité à entrer de nouveau le mot de passe lorsque vous y êtes invité, qui est essentiellement ce que je veux.
Mon peu de connaissances en php me laisse un peu perplexe ici.
index.php (niveau le plus haut du fichier avec le bouton "se connecter")
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Test</title>
</head>
<body>
<a href="authenticate/index.php">Log In Btn</a>
</body>
</html>
authenticate/index.php (Ce dossier est protégé par mot de passe - contient le fichier d'index avec le journal de bouton qui renvoie à la logout.php fichier)
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Log out</title>
</head>
<body>
<a href="logout.php">Log Out Btn</a>
</body>
</html>
authenticate/logout.php
<?php
session_start(); //to ensure you are using same session
session_destroy(); //destroy the session
header("location:/index.php"); //to redirect back to "index.php" after logging out
exit();
?>
source d'informationauteur fitzilla
Vous devez vous connecter pour publier un commentaire.
Le dossier protégé par mot de passe a rien à voir avec le PHP!
La méthode utilisée est appelée "Authentification de Base". Il n'y a pas de croix-navigateur façons de "déconnexion", sauf à demander à l'utilisateur de fermer puis ouvrir leur navigateur...
Voici comment vous pourriez le faire en PHP (supprimer complètement de votre Apache basic auth dans
.htaccess
ou partout où il est premier):login.php:
index.php
logout.php:
Évidemment, c'est un très mise en œuvre de base. Vous attendez les noms d'utilisateur et mots de passe dans une base de données, non pas comme un standard de comparaison. Je suis juste essayer de vous donner une idée de la façon de faire la session chose.
Espère que cela vous aide à comprendre ce qu'il se passe.
D'abord donner le lien de
logout.php
page bouton de déconnexion.Dans cette page de rendre le code qui est donné ci-dessous:Voici le code:
Lorsque la session a commencé, la session du dernier utilisateur actuel a été commencé, ne soyez donc pas besoin de déclarer le nom d'utilisateur. Il sera supprimé automatiquement par le session_destroy méthode.
//déconnexion
?>