Originariamente inviato da Lathspell
Per controllare se un utente è loggato è inutile controllare se esiste la sessione.
Le variabili di sessione, anche quando la sessione è già stata inizializzata, possono essere settate o meno. la sessione nelle pagine seguenti il login va inizializzata comunque, se poi una particolare variabile di sessione, che tu hai designato come controllo per aver effettuato il login, viene trovata non settata o con un valore differente da quello che tu hai stabilito allora signfica che l'utente non è autorizzato.
il problema è che utilizzo la stessa pagina sia per effettuare il login che per permettere delle modifiche all'utente loggato.. e questo lo faccio con un include..
Faccio un esempio.. ho un file "default.php" il quale contiene un form per il login, l'utente immette le credenziali e clicca sul pulsante del form, il form rimanda alla stessa pagina "default.php" controllo se è stato passato un campo nascosto e se è stato passato eseguo il codice che controlla l'esistenza dell'account, se l'utente viene trovato creo una sessione (session_start()) e inizializzo delle variabili di sessione, ad un certo punto del codice controllo che una certa variabile di sessione (sono sempre in default.php) sia stata valorizzata, se è stata valorizzata faccio un require di un certo file che contiene un'altro form per la modifica dei dati (e che và a sostituire il form di login ovviamente).. ora l'utente modifica i dati e invia questo form.. e qui mi blocco