Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    session_destroy non funziona

    Ciao ho il seguente problema:
    ho creato una navigazione tra pagine con sessione e alla fine cerco di distruggere la sessione ma ciò non succede (la sessione viene distrutta solo quando chiudo il browser).

    I file di test sono i seguenti (in questo esempio la session_id rimane sempre la stessa finchè non chiudo il browser)

    sess.php
    <?php
    session_start();
    $tmp=session_id();
    echo"$tmp";
    ?>

    <html>
    <head>
    .....
    <body>


    distruggi sessione
    </body>

    sess2.php

    <?php
    session_start();
    $_SESSION = array();
    session_unset();
    session_destroy();
    echo"<script>location.replace('sess.php')</script>";
    ?>

    Le info sulle sessioni (by phpinfo()) sono le seguenti:

    Session Support enabled
    Registered save handlers files user

    Directive Local Value Master Value
    session.auto_start Off Off
    session.bug_compat_42 Off Off
    session.bug_compat_warn On On
    session.cache_expire 180 180
    session.cache_limiter nocache nocache
    session.cookie_domain no value no value
    session.cookie_lifetime 0 0
    session.cookie_path / /
    session.cookie_secure Off Off
    session.entropy_file no value no value
    session.entropy_length 0 0
    session.gc_divisor 1000 1000
    session.gc_maxlifetime 1440 1440
    session.gc_probability 1 1
    session.name PHPSESSID PHPSESSID
    session.referer_check no value no value
    session.save_handler files files
    session.save_path /var/lib/php/session /var/lib/php/session
    session.serialize_handler php php
    session.use_cookies On On
    session.use_only_cookies Off Off
    session.use_trans_sid Off Off

    Perchè la sessione non si distrugge e non ne viene generata una nuova?
    Ho praticamente letto tutti i post sulle sessioni in questo forum, ma non ho trovato la soluzione.
    Sapete aiutarmi?

  2. #2
    E' possibile in qualche modo settare la variabile time (o come si chiama) delle sessioni?

    Ho provato i file di prova anche in locale ed il risultato è sempre lo stesso: la sessione cambia solo quando chiudo il browser.

  3. #3
    non e' cosi' importante se lo stesso browser recupera la stessa sessione. L'importante e' che la sessione sia stata svuotata del contenuto.

    Che venga utilizzato lo stesso session_id() e' assolutamente marginale dal momento che questo e' stato svuotato. Se proprio vuoi cambiare il session_id()# usa session_regenerate_id() dopo avere eseguito l'azzeramento di $_SESSION

    vedi il manuale. http://www.php.net/manual/it/ref.session.php

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

  4. #4
    Mi serve proprio rigenerare la session_id.
    Ho messo questo codice nel file sess2.php

    <?php
    session_start();
    $_SESSION = array();
    session_unset();
    session_destroy();
    session_regenerate_id();
    echo"<script>location.replace('sess.php')</script>";
    ?>

    La session_id non viene rigenerata. Perchè?

  5. #5
    non riesco a capire quello che vuoi fare. una volta che la sessione viene distrutta sul server, ma il browser continua ad essere attivo ed il default per la scadenza del cookie e' la chiusura del browser, il cookie di sessione continua ad essere valido e viene letto dal successivo session_start() che ripesca la sessione "SVUOTATA" del suo contenuto precedente.

    Basta che controlli il contenuto di $_SESSION e se ti risulta vuoto sei a posto.

    Comunque il nuovo session_id() viene inviato al browser e continuera' con quello nuovo. Ovviamente se distruggi la sessione manda nulla.

    Codice PHP:
    <?php
    session_start
    ();
    $id1=  session_id();
    $_SESSION = array();
    session_regenerate_id();
    $id2 session_id();
    echo 
    "precedente " $id1;
    echo 
    "
    attuale "
    .$id2;
    // echo"<script>location.replace('sess.php')</script>";
    ?>

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

  6. #6
    Perfetto funziona.
    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.