[php] passare variabile

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
AlexDiste
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2299
Iscrizione: martedì 18 agosto 2009, 9:25

Re: [php] passare variabile

Messaggio 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?
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [php] passare variabile

Messaggio da Zoff »

È quasi identico... invocando direttamente unset() distruggi direttamente $_SESSION redendo impossibile il suo utilizzo a psoteriori, in effetti è preferibile usare session_unset()... :-[
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
salvatore100
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 622
Iscrizione: domenica 7 giugno 2009, 12:44

Re: [php] passare variabile

Messaggio da salvatore100 »

ok grazie mille
Avatar utente
eaghezzi
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 725
Iscrizione: martedì 21 luglio 2009, 10:27
Desktop: Lubuntu
Distribuzione: Ubuntu 14.04.1 LTS i686
Sesso: Maschile
Località: Valleambrosia

Re: [php] passare variabile

Messaggio 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.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [php] passare variabile

Messaggio da Zoff »

Occhio che così fai un assegnazione non un controllo del valore:
if ! isset(  $_SESSION['utente_loggato']=TRUE ){
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
AlexDiste
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2299
Iscrizione: martedì 18 agosto 2009, 9:25

Re: [php] passare variabile

Messaggio 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
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: Bing [Bot] e 1 ospite