简体   繁体   中英

cookie issue in internet explorer

I am getting unknown issue that is i am not able to unset my session with the browser.

Here is my code that checks on every request:

if (isset($_SESSION["logid"])) {
    $log = TRUE;
    $logid = $_SESSION["logid"];
    $session_id = $_SESSION["sid"];
} else {
    $log = FALSE;
}
if (!isset($_COOKIE["cook"])) {
    if ($log) {
        unset($_SESSION["logid"]);
        unset($_SESSION["sid"]);
        $log = false;
    }
    $expire = time() + 60 * 60 * 24 * 30 * 2;
    $data = array(
        "ip" => $_SERVER['REMOTE_ADDR'],
        "browser" => $_SERVER['HTTP_USER_AGENT'],
        "create_time" => $now
    );
    $result = $db->insert("cookies", $data);
    $cookie_id = $db->lastid;
    $cookie_id = my_encrypt($cookie_id);
    setcookie("cook", $cookie_id, $expire, "/");
} else {
    $cookie_id = $_COOKIE["cook"];
}

and code for logging out is here

unset($_SESSION["logid"]);
unset($_SESSION["sid"]);

I don't want to unset/expire cookie named cook but i want to create it if cookie deleted manually or other reason so the code in first block does that.

Not quite sure I understand the issue, but maybe this will help. All browser instances (windows or tabs) share the same cookie jar. While this is rarely a problem in "real life" it plays havoc with developers because you, as a developer, may have many tabs open. If you want to test an application that changes cookies (such as a login or logout) you should close all instances of your browser and open only one instance, then test.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM