Re: session_destroy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Shannon Doyle wrote:
Hi People,

Trying to get a session to destroy correctly, however the darn thing just
refuses to destroy. I call the following in a separate webpage in a effort
to destroy the session, only to find that the session still persists.

<?php
session_start();
session_unset();
session_destroy();
Header("Location: index.php");
?>


Any help would be appreciated.

I looked into really nuking a session quite a while back
and after searching around and scraping together some snippets of
code I came up with this:

<?php

function destroySession($delSessFile = false)
{
    // Unset all of the session variables.
    $_SESSION = array();

    // If it's desired to kill the session, also delete the session cookie.
    // Note: This will destroy the session, and not just the session data!
    if (isset($_COOKIE[session_name()])) {
       $CookieInfo = session_get_cookie_params();
       if ( (empty($CookieInfo['domain'])) && (empty($CookieInfo['secure'])) ) {
           setcookie(session_name(), '', time()-3600, $CookieInfo['path']);
       } elseif (empty($CookieInfo['secure'])) {
           setcookie(session_name(), '', time()-3600, $CookieInfo['path'], $CookieInfo['domain']);
       } else {
           setcookie(session_name(), '', time()-3600, $CookieInfo['path'], $CookieInfo['domain'], $CookieInfo['secure']);
       }
    }

    // Finally, destroy the session.
    session_destroy();

    // go over board and actually delete the file right here and now!
    if ((boolean)$delSessFile) {
        $orgpath = getcwd(); /* chdir(PHP_BINDIR); */ chdir(session_save_path());
        $path = realpath(getcwd()).'/';
        if(file_exists($path.'sess_'.$id)) {
            // Delete it here
            unlink($path.'sess_'.$id);
        }
        chdir($orgpath);
    }
}

?>

hth

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux