programmare le sessioni oggi con i nuovi array superglobali è quasi banale!
L'array in questione è $_SESSION;
Puoi chiamarlo anche dentro le funzioni senza doverlo passare ocme parametro!
è sufficiente la chiamata a
session_start();
all'inizio dello script, per associare correttamente l'utente a quella sessione.
Per precauzione, se dovesse apparirvi il problema dell' "output already sent", chiamate prima
ob_start();
Dopodichè, se vuoi memorizzare un dato, usi
$_SESSION['nomevar'] = 'pippo';
per richiamarlo:
echo $_SESSION['nomevar'];
Fine.
Per eliminare i contenuti della sessione, usa
session_unset();
session_destroy();
Secondo me, l'ideale per un login è la cosa seguente:
l'utente chiede il login:
se si è autenticato correttamente gli imposti, SE LO HA ESPRESSAMENTE CHIESTO, un cookie con la chiamata a
setcookie('id',$classe_di_codifica->codifica($id_dal_db),'/',time()+" quanto ti pare in sec.");
inserendovi per esempio, l'ID ma CODIFICATO! per esempio con una funzione crypt() a 2 vie, inserita magari in una classe.
Per l'attuale navigazione, imposti un
$_SESSION['login'] = true;
e su ogni pagina ne effettui la presenza.
Quando si slogga, la volta successiva controlli la presenza della variabile
$_COOKIE['id']
se presente la decodifichi ed effettui una chiamata al db per verificare che l'utente esista.
altrimenti... si rilogga.
Non usare cookie in chiaro; meglio evita!
Bye