Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Sessioni scadute e pagine non visualizzate

    Buon giorno, vorrei sapere per favore, qual'è il procedimento per cui, alla chiamata di una pagina, si passa il valore della sessione o qualcosa del genere per cui, dopo un tot di tempo, se si è inoperativi, la sessione scade e ti dice di riiniziare da capo o comunque non ti fà andare avanti.

    al momento ho fatto cosi, ma non credo abbia molta valenza:
    codice:
    <?php 
    	session_start();
    
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    
    [img]img/stemma.gif[/img]
    Potete aiutarmi per favore?
    Grazie mille e buona giornata a tutti..

  2. #2
    Utente di HTML.it L'avatar di tziggie
    Registrato dal
    Mar 2007
    Messaggi
    105
    Prova a dare uno sguardo a questa discussione.

    Mi sembra esauriente.

    PS: l'avevo già letta per cui me ne ricordavo, ma bastava cercare nel forum "sessioni a tempo".

  3. #3
    ti ringrazio per avermi risposto, però volevo sapere un paio di cosette:

    1) per inizializzare questa funzioncina:
    codice:
    ini_set('session.gc_maxlifetime', '100');
    devo settare il session_start();, oppure posso farne a meno?

    2) devo "agganciare" o passare questo valore, soltanto al primo link,cioè quello che poi richiama la default.php, dove verranno caricate tutte le pagine visitate tipo:
    oppure lo devo passare per ogni link che richiama tutte le pagine?

    per il momento solo queste 2.
    Grazie mille molto gentile...

  4. #4
    Utente di HTML.it L'avatar di tziggie
    Registrato dal
    Mar 2007
    Messaggi
    105
    Se vuoi iniziare una sessione devi utilizzare session_start. Con ini_set cambi le impostazioni di php.ini per tutta la durata dello script (leggi qui).

    Per cui direi che devi scrivere

    Codice PHP:
    <?php
    session_start
    ();
    ini_set(eccetera);
    ?>

  5. #5
    allora, mi sono documentato un'attimino però:

    1) ho visto dentro il file php.ini e questa funzione è settata in questo modo:
    codice:
    session.gc_maxlifetime = 1440
    quando vado a passare il valore settato cosi:
    codice:
    <?php 
    	session_start();
    	$sess_Scad = ini_set('session.gc_maxlifetime', '600');
    ?>
    mi restituisce sempre il valore 1440, passato alla pagina default.php, in questo modo:
    codice:
    [img]img/stemma.gif[/img]
    
    default.php?sess=1440
    quindi il secondo parametro, '600', passato all'interno della funzione ini_set('1','2') che valenza ha?
    Perchè mi sono accorto che cambiandolo, con qualsiasi altro valore, mi restituisce sempre '1440'.

    Quindi chiedo, oltre che a inizializzare all'inizio di ogni pagina la session_start() e l'ini_set() cos'altro devo fare, per far scadere la sessione?

    Grazie mille....

  6. #6
    session_start() legge il cookie di sessione e se esiste un file di sessione "valido" lo recupera, altrimenti apre una nuova sessione ed invia il relativo cookie al client.

    va da se che se definisci la durata della sessione lato server (per inattivita'), dovrai "prima" definire il tempo valido che ritieni opportuno e "poi" eseguire session_start(), altrimenti verra' sempre valutato il tempo definito nel php.ini o altrove tipo .htaccess o httpd.conf

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it L'avatar di tziggie
    Registrato dal
    Mar 2007
    Messaggi
    105
    Errore mio

    Il secondo parametro, comunque, indica la durata in secondi che stai settando per session.
    600 = 60sec x 10 = 10min.

  8. #8
    ok ok, non preocciparti, ma apparte questo errore.
    Ho capito qualcosina di quello che mi hai detto piero, ed ho fatto in questo modo:
    codice:
    <?php
    	ini_set('session.gc_maxlifetime', '100');
    	session_start();
    ?>
    passando il valore al link il risultato è che adesso non ho più 1440 ma 100.
    Ma credo che, quello che ho fatto non è quello che intendi quando dici:
    "dovrai "prima" definire il tempo valido che ritieni opportuno e "poi" eseguire session_start(), "

    Mi dici per favore, come se fà? che pixxa...

  9. #9
    Utente di HTML.it L'avatar di tziggie
    Registrato dal
    Mar 2007
    Messaggi
    105
    Originariamente inviato da ANTAGONIA
    passando il valore al link il risultato è che adesso non ho più 1440 ma 100.
    ini_set serve proprio a questo. A settare il file di configurazione. Se specifichi il tempo della durata massima della sessione a 100, otterrai 100...

  10. #10
    allora avevo capito bene come cambiare il valore.Però, come faccio a vedere se la pagina è scaduta o meno?
    Nel senso, ammettiamo il caso che, a sessione scaduta voglia caricare una pagina che mi indichi con un messaggio "Sessione Scaduta, clicca qui per rientrare".

    Che controllo devo fare?e dove lo devo fare?

    scusa tutte ste domande...

    grazie ancora per la pazienza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.