php中session_destroy()的作用?

session_destroy()destroysallofthedataassociatedwiththecurrentsession.Itdoesnotunsetan... session_destroy() destroys all of the data associated with the current session. It does not unset any of the global variables associated with the session, or unset the session cookie. To use the session variables again, session_start() has to be called.

它会destroys all of the data associated with the current session,但是它既不注销变量,又不注销session cookie。那它做了什么?还有这个函数有什么用呢?
展开
 我来答
大宝妈谈教育
高粉答主

2020-04-28 · 关注我不会让你失望
知道小有建树答主
回答量:3306
采纳率:100%
帮助的人:53.1万
展开全部

Session_destroy()销毁当前会话中的所有数据,但不重置与当前会话关联的全局变量,也不重置会话cookie。如果需要再次使用会话变量,则必须再次调用session_start()函数。

为了完全销毁会话,例如当用户注销时,必须同时重置会话ID。如果会话ID是由cookie传递的,那么还会调用setcookie()函数来删除客户机的会话cookie。

使用方法:

1.要在PHP中使用会话,首先需要启动会话。要启动会话,您需要使用PHP的内置函数session_start(),如图所示。

2. 然后,session_start()函数必须位于< HTML >标记之前,如下所示。

3.启动会话后,使用PHP的内置数组对象源$_SESSION[]来存储数百个,并创建一个新的index.php文件。

4.在index.php文件中,键入以下代码将内容存储到会话中。

5.存储结束后即可,只需将键值取出即可使用[echo$_SESSION['views']]命令。

6.在浏览器中输入localhost:8080/jingyan/firmssy/index。在PHP中,您可以查看$_SESSION变量中的值。

amwih001
推荐于2017-09-07 · TA获得超过2.3万个赞
知道大有可为答主
回答量:1529
采纳率:100%
帮助的人:673万
展开全部

session_destroy() 销毁当前会话中的全部数据, 但是不会重置当前会话所关联的全局变量, 也不会重置会话 cookie。 如果需要再次使用会话变量, 必须重新调用 session_start() 函数。

为了彻底销毁会话,比如在用户退出登录的时候,必须同时重置会话 ID。 如果是通过 cookie 方式传送会话 ID 的,那么同时也需要 调用setcookie() 函数来 删除客户端的会话 cookie。


范例

<?php
// 初始化会话。
// 如果要使用会话,别忘了现在就调用:
session_start();

// 重置会话中的所有变量
$_SESSION = array();

// 如果要清理的更彻底,那么同时删除会话 cookie
// 注意:这样不但销毁了会话中的数据,还同时销毁了会话本身
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// 最后,销毁会话
session_destroy();
?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杜忆楣03D
推荐于2017-09-08 · TA获得超过458个赞
知道小有建树答主
回答量:364
采纳率:0%
帮助的人:393万
展开全部
终结 Session
如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。

unset() 函数用于释放指定的 session 变量:

<?php
unset($_SESSION['views']);
?>
您也可以通过 session_destroy() 函数彻底终结 session:

<?php
session_destroy();
?>
注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shenzhitianwu
2011-08-25 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:92.4万
展开全部
很简单,就是清空session
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guokai_3033
2011-08-25
知道答主
回答量:5
采纳率:0%
帮助的人:3.6万
展开全部
在使用session_destroy()的时候 应该先使用session_start() 不然session_destroy()不起作用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式