Visualizzazione dei risultati da 1 a 8 su 8

Discussione: problema sessioni

  1. #1

    problema sessioni

    salve a tutti!
    ho un problema con le sessioni e il login..allora, ho queste pagine:

    [login.php]
    session_start();
    $PHPSESSID=session_id();
    $_SESSION['admin'] = $username;
    header("Location: index.php");
    -------------------------------------
    [index.php]
    @session_start();
    if (isset($_SESSION['admin']))
    {
    $username = $_SESSION['admin'];
    }
    ------------------------------------
    [logout.php]
    session_start();
    session_unset();
    session_destroy();
    header("Location: index.php");
    exit;

    il login sembra andare..poi quando vado a distruggere la sessione, rimane in piedi lo stesso!
    dov'è l'errore?
    thx

  2. #2

  3. #3

  4. #4

    Re: problema sessioni

    Originariamente inviato da roxy_dany22

    [logout.php]
    session_start();
    session_unset();
    session_destroy();
    header("Location: index.php");
    exit;

    il login sembra andare..poi quando vado a distruggere la sessione, rimane in piedi lo stesso!
    dov'è l'errore?
    thx
    codice:
    [logout.php]
    <?php
    session_start();
    $_SESSION = array();
    session_destroy();
    header("Location: index.php");
    exit;
    Se poi viene utilizzato lo stesso session_id, ancora valido su browser, poco male. L'importante e' che la sessione sia svuotata.

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

  5. #5
    Prima di header location dovrebe richiamare session_write_close() in modo che le modifiche siano effettivamente scritte in sessione. Con header location, in alcune configurazioni, questo non avviene.

  6. #6
    niente da fare..ho provato :

    session_start();
    $_SESSION = array();
    session_destroy();
    session_write_close();
    header("Location: index.php");
    exit;

    e ho sempre lo stesso risultato!!!!!!!!

  7. #7
    Studiati questo codice:

    Codice PHP:
    <?php 
    session_start
    ();

    if (isset(
    $_GET['destroy'])) {
        
    $_SESSION = array();
        
    session_destroy();
        
    session_write_close();
        
    header('Location: ' $_SERVER['PHP_SELF'] . '?check=1');
        exit();
    } elseif (!isset(
    $_GET['check'])) {
        
    $_SESSION['test'] = time();
    }

    print(
    '<pre>');
    print_r($_SESSION);
    print(
    '</pre>');

    ?>
    [url="?destroy=1"]destroy session[/url]

  8. #8
    risolto!
    bastava eliminare il cookie

    if (isset($_COOKIE[session_name()]))
    {
    setcookie(session_name(), '', time()-42000, '/');
    }


    grazie lo stesso!
    ciao a tutti
    gentilissimi

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.