Visualizzazione dei risultati da 1 a 8 su 8

Discussione: chiusura sessione

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271

    chiusura sessione

    Ho due sezioni di un applicazione con login, nella sezione A la sessione è inizializzata così:

    session_register('autorizzato');
    $_SESSION['autorizzato'] = 1;

    nella sezione B la sessione è inizializzata così:

    session_register('admin_autorizzato');
    $_SESSION['admin_autorizzato'] = 1;

    per entrambi le sessioni per effettuare la disconnessione uso:
    session_unset();
    session_destroy();

    Inizialmente avendo una sola sezione con login tutto funzionava correttamente. Ora invece se sono loggato in entrambe le sezioni ed effettuo la disconnessione vengo disconnesso anche dall'altra sezione, cosa devo modificare (immagino che il problema sta nel modo in cui effettuo la disconnessione) per far funzionare tutto correttamente?

  2. #2

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    ok, grazie... quindi dovrei modificare nella sezione A così:

    $_SESSION['autorizzato'] = 1; // per iniziare la sessione
    unset($_SESSION['autorizzato']); // per terminare la sessione

    nella sezione B così:

    $_SESSION['admin_autorizzato'] = 1; // per iniziare la sessione
    unset($_SESSION['admin_autorizzato']); // per terminare la sessione

    e rimuovere il session_destroy, giusto? :master:

  4. #4
    Originariamente inviato da dogo21sob
    ok, grazie... quindi dovrei modificare nella sezione A così:

    $_SESSION['autorizzato'] = 1; // per iniziare la sessione
    unset($_SESSION['autorizzato']); // per terminare la sessione

    nella sezione B così:

    $_SESSION['admin_autorizzato'] = 1; // per iniziare la sessione
    unset($_SESSION['admin_autorizzato']); // per terminare la sessione

    e rimuovere il session_destroy, giusto? :master:
    non termini la sessione, ma togli il privilegio assegnato.

    Se vuoi terminare la sessione ed eliminare "certamente" tutti i dati di sessione segui gli esempi del manuale:

    http://www.php.net/manual/en/functio...on-destroy.php

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    ok, mi sono espresso male ma credo di aver capito bene...
    cioè avendo due aree diverse del sito non devo mai fare il destroy altrimenti elimino tutti i dati di sessione disconnettendo tutti gli utenti di entrambe le aree...
    però, ora che ci penso, devo anche pensare alla possibilità che 2 utenti siano loggati contemporaneamente nella stessa sezione, se uno dei due effettua il logout viene disconnesso anche l'altro... ci penso un attimo e vedo se trovo la soluzione

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    ogni utente ha la sua sessione...

    le sessioni sono personali oer ogni visitatore
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Originariamente inviato da dogo21sob
    ok, mi sono espresso male ma credo di aver capito bene...
    cioè avendo due aree diverse del sito non devo mai fare il destroy altrimenti elimino tutti i dati di sessione disconnettendo tutti gli utenti di entrambe le aree...
    però, ora che ci penso, devo anche pensare alla possibilità che 2 utenti siano loggati contemporaneamente nella stessa sezione, se uno dei due effettua il logout viene disconnesso anche l'altro... ci penso un attimo e vedo se trovo la soluzione
    fai un errore di valutazione sulle sessioni.

    Ogni utente che si logga ha la "SUA" sessione. Ogni sessione e' identificata da un file di sessione (nella configurazione di default) per cui con il session_start() si accede unicamente al proprio file identificato dal session id # e qualunque modifica all'interno della sessione non influenza le altre utenze. Anche se con lo stesso username. Perche' la differenza la fara' il browser con il "SUO" cookie di sessione letto al session_start().

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

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    avete ragione, sbagliavo a pensare perchè stavo pensando al caso in cui 2 utenti effettuassero la connessione alla stessa sezione dallo stesso pc
    grazie mille

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.