Php 为什么我必须取消所有会话变量?
为什么我必须将会话变量置零?是否Php 为什么我必须取消所有会话变量?,php,session,global-variables,Php,Session,Global Variables,为什么我必须将会话变量置零?是否session\u destroy还不够 <?php session_start(); $_SESSION = array();// <--Is necessary? if (isset($_COOKIE[session_name()]])){ setcookie(session_name(),'',time()-42000,'/'); } session_destroy();
session\u destroy
还不够
<?php
session_start();
$_SESSION = array();// <--Is necessary?
if (isset($_COOKIE[session_name()]])){
setcookie(session_name(),'',time()-42000,'/');
}
session_destroy();
header('Location:Login.php');
?>
将值置零是一种预防措施,以防对象未被
会话_destroy()破坏代码>
只是预防措施和良好做法,这不是必需的
为什么要启动会话并立即销毁它?您应该同时使用session\u unset()
和session\u destroy()
。
请注意,session\u destroy()
仅在页面重新加载或重定向到其他页面时清空变量。只要它是同一个页面,在调用会话\u destroy()
后变量仍然可用,因此最好在会话\u destroy()之前使用会话\u unset()
这是注销页面。我使用会话启动
来检测会话cookie。我认为使用它是必要的。@giannosfor:在这种情况下,根本没有必要,因为您是在会话启动()
无论如何。在什么情况下,会话\u destroy
可能不会销毁对象?