首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP - Cookie和会话不会被永久删除

PHP - Cookie和会话不会被永久删除
EN

Stack Overflow用户
提问于 2018-08-22 06:01:56
回答 1查看 20关注 0票数 0

在我的所有网页中,我都会触发下面的函数。

代码语言:javascript
复制
function refresh_user_auth() {

    if (isset($_COOKIE["UserID"])) {

        $_SESSION["UserIDS"] = $_COOKIE["UserID"];
        setcookie("UserID", $_COOKIE["UserID"], time() + (86400 * 30), "/");

    }
    elseif (isset($_SESSION["UserIDS"])) {

        $_SESSION["UserIDS"] = $_SESSION["UserIDS"];
        setcookie("UserID", $_SESSION["UserIDS"], time() + (86400 * 30), "/");

    }

}

我使用下面的功能注销,但当我访问网站上的其他网页时,它似乎没有将我注销。

代码语言:javascript
复制
function unset_user_auth() {

    if (isset($_COOKIE["UserID"])) {

        unset($_COOKIE['UserID']);
        $_COOKIE = array();
        setcookie('UserID', '', time() - 36000);

    }

    if (isset($_SESSION["UserIDS"])) {

        unset($_SESSION['UserIDS']);
        $_SESSION = array();
        session_destroy();
        setcookie('UserIDS', '', time() - 36000);

    }

}

求求你,我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-08-22 06:42:17

我不知道为什么你必须为cookie和session分别做这件事,你可以一次做完。注销时,如果您无论如何都要销毁cookie和/或会话,则不需要检查是否设置了cookie和/或会话(除非您有为“记住我”功能保存cookie的选项)。

下面是session_unset()函数页的PHP文档中的注释示例。如果您有疑问,可以随时参考PHP文档。您可以在评论中找到大量的示例和用例。

代码语言:javascript
复制
<?php
    session_start();
    session_unset();
    session_destroy();
    session_write_close();
    setcookie(session_name(),'',0,'/');
    session_regenerate_id(true);
?> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51957290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档