Buon giorno a tutti, non riesco a fare il logout di un'autenticazione richiesta tramite server.
Spiego.Il sito all'apertura richiede un'autenticazione attraverso:
Si inseriscono User e Pass, ed il risultato si assegna ad una variabile di sessione cosi:Codice PHP:$_SERVER['PHP_AUTH_USER'].
Dopo aver valorizzato $_SESSION['SessUserName'], utilizzo questa variabile per effettuare una serie di select per estrapolare dalle diverse tabelle alcuni valori riguardanti quello User.Codice PHP:$_SESSION['SessUserName'] = $_SERVER['PHP_AUTH_USER'];
Fin qui nulla di strano.Il problema sorge quando voglio effettuare un Logout.
Clicco sul pulsante logout che richiama la medesima pagina strutturata cosi:
a sua volta richiama la pagina messaggioLogout.php in questo modo:Codice PHP://LogOut.php
session_unset();
session_destroy();
$_SESSION = array();
$nextpage = ($_REQUEST['nextpage'] ? $_REQUEST['nextpage'] : "index.php?p=logOut");
header("location:".$nextpage);
Ma purtroppo la sessione $_SESSION['SessUserName'] resta sempre attiva.Codice PHP:index.php?p=logOut
Questo perchè la stessa variabile($_SESSION['SessUserName']) è valorizzata all'apertura della pagina da $_SERVER['PHP_AUTH_USER'].
All'apertura della pagina la richiesta dell'autenticazione
Quindi vi chiedo gentilmente come posso eseguire un logout alla luce di quanto postato?Codice PHP:if (isset($_SERVER['PHP_AUTH_USER'])) {
session_unset();
session_destroy();
$_SESSION = array();
session_start();
$_SESSION['SessUserName'] = $_SERVER['PHP_AUTH_USER'];
//serie di select utilizzando $_SESSION['SessUserName']
}
if (!isset($_SESSION['SessUserName'])) {
session_unset();
session_destroy();
$_SESSION = array();
} else {
require_once('SSI/Sessioni.ssi');
}
require_once('SSI/Sessioni.ssi');
Grazie mille dell'aiuto :|

Rispondi quotando
