Salve a tutti, avrei bisogno di creare un semplice logout da un'area protetta da password tramite l'uso di sessioni.
Vi posto il codice per chiarezza:
Codice PHP:
<? //pagina che verifica la presenza della sessione aperta
session_start();
if ($_SESSION['login_admin'] != "ok") {
header("Location: form.htm"); //se la sessione di admin non è stata aperta mi reindirizza automaticamente al form di collegamento
}
?>
Questa prima parte è una paginetta "inclusione.php" che si occupa di effettuare il controllo sulla sessione.
Codice PHP:
<?
$host="localhost"; // Nome dell'host
$username="root"; // Username Mysql
$password="root"; // Password Mysql
$db_name="shopping"; // Nome del database
// Collegamento al database.
mysql_connect("$host", "$username", "$password")or die("Errore di connessione");
mysql_select_db("$db_name")or die("Non posso selezionare il database");
$user=$_POST['username'];
$pass=$_POST['password'];
$sql="SELECT * FROM amministratori WHERE username='$user' and password='$pass'";
$result=mysql_query($sql);
// Mysql_num_row effettua il conteggio dei record
$count=mysql_num_rows($result);
if($count==1){
session_start(); //apro la sessione di amministratore
$_SESSION['login_admin'] = "ok";
header("location: ../index.php");
} else { //se il login non va a buon fine torno alla pagina di accesso amministratore
header("Location: ../form.htm");
echo "Riprova";
}
?>
Questa pagina "controlla.php" si occupa di gestire la session_start().
Codice PHP:
<a href="<?
if($_SESSION['login_admin'] =='ok')
{
session_unset($_SESSION['login_admin'] );
}
else
{
echo'Non sei loggato';
}
?>">Logout</a>
Questo invece il codice che ho provato ad implementare in index.php per il logout...solo che appena cambio pagina il session_unset viene chiamato e dismette la sessione...senza che io clicchi su logout.
Qualche idea su come fare?
Grazie mille!