(PHP)为什么我用了,session_destroy(); 这句话没有什么效果
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
session_start();
$_SESSION["veiw"]=1;
if(isset($_SESSION["veiw"]))
{
$_SESSION["veiw"]=$_SESSION["veiw"]+1;
}
else
{
$_SESSION["veiw"]=1;
echo "veiw=".$_SESSION["veiw"];
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<?php
echo "veiw的值为".$_SESSION["veiw"];
/* unset($_SESSION['views']);*/
?>
<?php
session_destroy();
echo "后".$_SESSION["veiw"];
?>
</body>
</html> 展开
<?php
session_start();
$_SESSION["veiw"]=1;
if(isset($_SESSION["veiw"]))
{
$_SESSION["veiw"]=$_SESSION["veiw"]+1;
}
else
{
$_SESSION["veiw"]=1;
echo "veiw=".$_SESSION["veiw"];
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<?php
echo "veiw的值为".$_SESSION["veiw"];
/* unset($_SESSION['views']);*/
?>
<?php
session_destroy();
echo "后".$_SESSION["veiw"];
?>
</body>
</html> 展开
4个回答
展开全部
你要搞清楚 session 和 $_SESSION的关系。
session 是一个会话,在session_start() 的时候建立。
$_SESSION 是一个全局数组,和其他的全局数组没有任何区别。只是php在创建一个会话的时候,会顺便创建一个全局数组来保存会话的内容,这个数组又刚好叫$_SESSION,和我们自己去创建的其他数组没有什么不一样。
session_start() 执行的时候,开启了会话,首先是如果该会话没有被创建,则在系统的tmp目录中创建了session文件(默认,可自定义),并且在当前会话的执行脚本创建全局数组$_SESSION,h这时的$_SESSION是一个空数组。如果会话存在,则读取session文件中的内容,建立$_SESSION数组。
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.
不会删除 session 的全局变量和 session相关cookie,只是结束了这次会话。作为一个普普通通的全局变量,如果我们不需要乐得话,就将他 unset() 掉。如果想再次开启会话,就需要再一次session_start(),但是session_start() 重新建立会话,会重新初始化$_SESSION数组,session_start()之后$_SESSION 就又是一个空数组了。
session 是一个会话,在session_start() 的时候建立。
$_SESSION 是一个全局数组,和其他的全局数组没有任何区别。只是php在创建一个会话的时候,会顺便创建一个全局数组来保存会话的内容,这个数组又刚好叫$_SESSION,和我们自己去创建的其他数组没有什么不一样。
session_start() 执行的时候,开启了会话,首先是如果该会话没有被创建,则在系统的tmp目录中创建了session文件(默认,可自定义),并且在当前会话的执行脚本创建全局数组$_SESSION,h这时的$_SESSION是一个空数组。如果会话存在,则读取session文件中的内容,建立$_SESSION数组。
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.
不会删除 session 的全局变量和 session相关cookie,只是结束了这次会话。作为一个普普通通的全局变量,如果我们不需要乐得话,就将他 unset() 掉。如果想再次开启会话,就需要再一次session_start(),但是session_start() 重新建立会话,会重新初始化$_SESSION数组,session_start()之后$_SESSION 就又是一个空数组了。
展开全部
unset($_SESSION['views']);经常用到没问题的.
试试session_unset();释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id
session_destroy() ;删除当前用户对应的session文件以及释放session id,内存中的$_SESSION变量内容依然保留
试试session_unset();释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id
session_destroy() ;删除当前用户对应的session文件以及释放session id,内存中的$_SESSION变量内容依然保留
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改成session_destroy($_SESSION);
追问
不行的啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你想实现什么效果??
更多追问追答
追问
我想看下,session_destroy 有没有用啊,我想删除$_session内的值啊
追答
session从你访问网站时起被创建,存在时间一般为24分钟,当你关闭页面离开时,会自动调用session_destroy ()函数,将session释放。如果你想把一个session变量清空,只能用unset()函数来执行,用session_destroy()函数是不行的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询