Originariamente inviato da Kai Hansen
Grazie per le risposte date fin ora, sei stato di grande aiuto.



Potresti farmi qualche esempio per capire meglio cosa dici?



Sì.
Non fare:

Codice PHP:
if ($user == $db_user && $password == $db_password) {
     
$_SESSION['authentication'] = true;
} else {
     unset(
$_SESSION); // elimini tutto il vettore $_SESSION;

ovvero che utilizzi il vettore $_SESSION solo se l'autenticazione va a buon fine.
Utilizza una variabile posta al suo interno:

Codice PHP:
if ($user == $db_user && $password == $db_password) {
     
$_SESSION['authentication'] = true;
} else {
     unset(
$_SESSION['authentication']);
     
/* il vettore $_SESSION perde un elemento ma resta comunque definito per altri usi */

Diciamo che non c'è niente di sbagliato in quello che fai tu ora, è solo che il vettore $_SESSION può servirti per un sacco di altre cose anche al di fuori dell'area riservata, quindi non bruciartelo tutto solo per un pezzo del sito.

Il vettore è un contenitore di variabili, usarlo come una sola variabile è un po' sprecato, capisci? Tutto qui.