Ciao a tutti,
ho letto diversi libri e anche le guide qui di html, ma ho dei problemi con le sessioni.
ho una pagina index.php dove si trova il seguente codice dentro un div
Codice PHP:
if(!isset($_SESSION['login'])) {
echo "<a href=\"index.php?page=login\">Log in</a>";
} else {
$ds = new MySQLClass();
$ds->connetti();
$user_ID = $_SESSION['login'];
$query_results = $ds->query("SELECT `name` FROM `user` WHERE `user_ID` = '$user_ID';");
$ds->disconetti();
$results = $ds->estrai($query_results);
$name = $results->name;
echo "Welcome ".$name." - ";
echo "<a href=\"index.php?page=logout\">Log out</a>";
}
?>
Inizialmente tutto ok, poi effettuo il login dalla pagina index.php?page=login e, se tutto va bene viene eseguito questo codice (il codice di prima e' caricato in ogni pagina, anche la seguente):
Codice PHP:
session_start();
if(isset($_SESSION['login'])) {
header ("....") // se e' gia' loggato mando alla pagina specifica
}
if("controllo che ci siano dei dati in POST, se si significa che ho appena compilato il form di login e lo ho spedito alla pagina stessa") {
// tutti i controlli del caso
// mi collego al db e tiro fuori l'id dell'utente
$_SESSION['login'] = $userid;
header ("mando alla pagina di specifica")
}
Il problema e' che se chiudo il tab e non faccio il logout (dove chiamo session_destroy()), nella index ho sempre i dati del precedente login: infatti mi compaiono i dati del precedente login come il nome e non vorrei fosse cosi.
ho provato a settare php.ini attraverso la funzione set_ini, non capisco davvero come muovermi.
spero in un aiuto
grazie