Mmmh, non ci siamo.
Ho messo la funzione session_start() all'inizio dello script, e in effetti se metto qualcosa nell'array session, dopo il login c'è ancora. Il problema però persiste. Se, dopo aver fatto il login, io schiaccio sul link Reload (che non fa altro che ricaricare la pagina senza le querystring del GET) perde tutto, e mi mostra di nuovo il form per loggarsi.
A dire il vero io ho trovato anche il perché di questa cosa. In pratica è dovuta a questo if:
Codice PHP:
if ($_GET['status'] == "done") {
// se la condizione è verificata, significa che il login è stato effettuato
// quindi mostra il pulsante per effettuare il logout
echo '
[url="'.$_SERVER[PHP_SELF].'"]Reload[/url]
[i]Benvenuto [b]'.$_SESSION['user'].'[/b][/i]
<form action="" method="post" name="logout">
<input type="submit" name="logout_but" value="Logout" />
</form>';
} else {
// altrimenti mostra il form
echo '
[url="'.$_SERVER[PHP_SELF].'"]Reload[/url]
<form action="" method="post" name="login">
Username: <input type="text" name="user" value="" />
Password: <input type="password" name="pass" value="" />
<input type="submit" name="login_but" value="Invia" />
</form>';
}
Mi rendo conto che non è una gran trovata da parte mia, il fatto è che questo costrutto è stato un ripiego. Come faccio a far mantenere il login (e a mostrare il form per il logout) anche quando non c'è nulla nella querystring (quando praticamente richiamo la pagina tipo: localhost/miapagina.php senza nulla di accodato)?