Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    115

    sessione oltre chiusura del browser

    salve a tutti,
    è possibile fare in modo che la sessione venga mantenuta oltre la chiusura del broser?
    in poche parole vorrei realizzare la classica opzione "resta collegato" che si trova in molti siti, la quale permette alla successiva apertura del browser, di potere fare automaticamente il login.
    grazie.

  2. #2

    Re: sessione oltre chiusura del browser

    Originariamente inviato da Fobia
    salve a tutti,
    è possibile fare in modo che la sessione venga mantenuta oltre la chiusura del broser?
    in poche parole vorrei realizzare la classica opzione "resta collegato" che si trova in molti siti, la quale permette alla successiva apertura del browser, di potere fare automaticamente il login.
    grazie.
    La sessione php ha due vite. Una lato client e l'altra lato server.

    Se vuoi fare in modo che l'utente sia sempre collegato credo che il meglio che puoi ottenere sia salvando le sessioni su db senza farle mai scadere lato server e lasciare un cookie (non di sessione) con una scadenza parecchio dilazionata al client.

    Va da se che se il client cancella il cookie dovra' nuovamente loggarsi al server.

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

  3. #3
    Come già consigliato da Piero, l'unica è utilizzare i cookie!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    115
    grazie per i primi consigli...ma ho ancora diversi dubbi...

    ...ad esempio come faccio a non farla scadere lato server?

  5. #5
    Originariamente inviato da Fobia
    grazie per i primi consigli...ma ho ancora diversi dubbi...

    ...ad esempio come faccio a non farla scadere lato server?
    se le metti su db scadranno solo se le vuoi fare scadere tu.

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

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    115
    sì ma quando riapro il browser l'unico modo che ha il server per recuperare la sessione è tramite cookie (inviato dal broser al server) ??
    ...e perché il cookie citato nel precedente commento non deve essere di sessione?

  7. #7
    Originariamente inviato da Fobia
    sì ma quando riapro il browser l'unico modo che ha il server per recuperare la sessione è tramite cookie (inviato dal broser al server) ??
    ...e perché il cookie citato nel precedente commento non deve essere di sessione?
    quando un utente si connette dal server avviene da questi un tentativo di leggerne i cookie. Ovviamente il tuo cookie sara' riconoscibile da un nome, da un valore e da una data di scadenza. Questo cookie non di sessione verra' scritto su hd mentre solitamente i cookie di sessione con tempo di validita' di default rimarrebbero solo nella memoria cache del browser e destinati alla cancellazione alla chiusura.

    Possono anche esserci altri modi di identificazione concordati con il client tipo stringhe o file o anche registri ma solitamente sono metodi aziendali dove le macchine in rete son ben riconosciute ed autenticate gia' dalla connessione in lan.

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

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    115
    ok...ma nel caso il mio codice prevedesse una session_start, alla riapertura del browser avrei un id di sessione diverso dal precedente? è possibile recuperare il vecchio sid?

  9. #9
    Originariamente inviato da Fobia
    ok...ma nel caso il mio codice prevedesse una session_start, alla riapertura del browser avrei un id di sessione diverso dal precedente? è possibile recuperare il vecchio sid?
    Se fai un mix tra sessioni su db e sessioni php puoi utilizzare il session_start() solo per procurarti un session_id number. Questo valore di sessione lo invii al cookie e nel contempo apri un record su db con lo stesso valore come chiave unique. Poi su db dovrai provvedere a serializzare in un campo un array del tipo di $_SESSION e provvedere a riprenderlo e aggiornarlo con i dati necessari all'utente. La tabella con le sessioni portera' la data creazione, la data ultima connessione, il session id, l'id_utente riferito a quella sessione e magari altri dati che possano interessare la sessione.

    Insomma va gestita. C'era un articolo di GM (mi pare) sulle sessioni alternative. Magari si riferisce a versioni vecchie del php ma la sostanza e' e rimane sempre quella.



    @ Trovato, l'articolo e' del 2003, leggilo comunque perche' e' molto istruttivo sulle sessioni.

    http://php.html.it/articoli/leggi/87...native-in-php/

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

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.