Attualmente sto lavorando su un sito che ha un accesso (nome utente e password) - La protezione della password viene eseguita dal sistema operativo all'interno del server Web a livello di cartella chiamato un dominio all'interno il sistema operativo. Per ora ciò dovrà essere fatto, fino a quando non scopriremo un sistema di accesso PHP corretto.PHP Session Destroy on Logout Button
Il codice di seguito, si basa su un previous question on the stack overflow.
che sto usando 3 file (Vedi frammenti di codice in basso).
Il processo è: - Fare clic sul pulsante Accedi su index.php - Immettere nome utente e password per accedere al file indice di autenticazione. - Fare clic sul pulsante di disconnessione, che fa riferimento al file logout.php: DOVREBBE cancellare la cache e restituire l'utente all'indice di livello superiore.
Non "distrugge la sessione" nel senso che non ti viene chiesto di reinserire la password quando viene richiesto, che è essenzialmente ciò che voglio che accada.
La mia conoscenza minima del php mi lascia un po 'perplesso qui.
index.php (file di livello superiore con accesso a pulsante)
<?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>
autenticazione/index.php (Questa cartella è protetto da password - contiene il file indice con la trave dal quale pulsante link al file logout.php)
<?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>
autenticazione/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();
?>
Se la cartella è protetta da password, quindi PHP non sta facendo l'autenticazione. Apache (o il server web) è. – xbonez
Questo ha senso, grazie mille @xbonez – fitzilla