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
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: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>";
}
?>
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.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")
}
ho provato a settare php.ini attraverso la funzione set_ini, non capisco davvero come muovermi.
spero in un aiuto
grazie

Rispondi quotando