Pagina 2 di 2
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 13:48
da AlexDiste
zoff infatti penso proprio che per il progetto che farò salverò in sessione solo l id dell utente dopo login e poi mi rifarò le query con quello di volta in volta. Certo che tu ne sai proprio tanto di php, ho visto che praticamente qui rispondi solo te sul php.
come mai unset($_SESSION) quando esistono le funzioni apposite session:unset() e session.destroy(), è meglio? cosa cambia?
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 13:51
da Zoff
È quasi identico... invocando direttamente unset() distruggi direttamente $_SESSION redendo impossibile il suo utilizzo a psoteriori, in effetti è preferibile usare session_unset()... :-[
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 19:19
da salvatore100
ok grazie mille
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 21:43
da eaghezzi
salvatore dovresti concentrarti sul capire la logica e studiare un pò le funzioni indicate
la pagina che processa il login deve
----------------------------------
creare la sessione (questo indipendentemente dal successo di login quindi
1. session_start() //qui creo la sessione
2. if ( login_ok($utente,$password) ) { //valida la login
$_SESSION['utente_loggato']=TRUE; //imposta var di controllo
//qui redirezionare l'utente alla pagina riservata
}
nella pagina ad accesso riservato verificare se la variabile 'utente loggato' esisste ed è uguale a true
1. session_start(); //ricreo la sessione
2. if ! isset( $_SESSION['utente_loggato']=TRUE ){
print("devi prima loggarti qui ); //oppure riproponi la form di login
}
quindi cosa se succede
se l'utente passa prima dal login viene creata la variabile di controllo e nella pagina riservata è ok
se l'utente digita direttamente l'url della pagina di controllo la variabile non esiste e viene rreinviato al login.
ciao.
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 23:46
da Zoff
Occhio che così fai un assegnazione non un controllo del valore:
if ! isset( $_SESSION['utente_loggato']=TRUE ){
Re: [php] passare variabile
Inviato: giovedì 18 febbraio 2010, 10:06
da AlexDiste
e poi == TRUE è omettibile dato che un if entra nel ciclo proprio in caso di TRUE è quindi possibile fare if(!isset($_SESSION['utente_loggato'])) e basta