第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

php session刪除會話

標簽:
PHP

2015-11-14 12:32:32

删除会话,有三个方法

1、unset();
删除单个会话
<?php
session_register();
$_SESSION["admin"]="aa";
if(!empty($_SESSION['admin'])){
$myvalue=$_SESSION['admin'];
echo $myvalue;
}
//删除session,一个个地删除的
unset($_SESSION["admin"]);  
echo $_SESSION['admin'];
?>
e7d72d16gw1ey0g4q3hucj205801ta9w.jpg
只能显示 一个,说明,删除了session


注意:
unset()不可以一次注销整个数组,这样会禁止整个会话功能 ,
如:unset($_SESSION)将全局变量$_SESSION销毁,而且没有办法将其恢复 ,用户也不能再注册 $_SESSION变量,


2、删除多个会话$_SESSION=array();
//删除多个会话,把一个空数组给$_SESSION,把之前的值覆盖了,这样并不是将$_SESSION销毁 ,还可以重新赋值

<?php
session_register();
$_SESSION["admin"]="aa";
$_SESSION['name']="叶凌月";
$_SESSION['age']=16;
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
//删除多个会话,把一个空数组给$_SESSION,把之前的值覆盖了,这样并不是将$_SESSION销毁 ,还可以重新赋值
$_SESSION=array();  
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>






3、结束当前的会话:
session_destory();


1、出错 :
<?php
session_start();
$_SESSION["admin"]="aa";
$_SESSION['name']="叶凌月";
$_SESSION['age']=16;
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
//结束当前会话
session_destroy($_SESSION);
//session_unset($_SESSION);
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>


e7d72d16gw1ey0g61yniej20dg07l0t4.jpg
Wrong parameter count for session_destroy()
错误的参数计数session_destroy()
原因 :
session_destroy();不需要添加参数 ,注销代表的是当前 的会话


注意:
使用session_destroy();要与session_start();一起用不然会受到警告


2、出错,觉得session_destroy();
不起作用,为什么还是会把$_SESSION的值显示 ,是否是注销了还保存有一份在cookie里呢,但是没有创建cookie呀,不管先试试


<?php
session_start();
$_SESSION["admin"]="aa";
$_SESSION['name']="叶凌月";
$_SESSION['age']=16;


setcookie($_SESSION,"",time()-1);
//结束当前会话
session_destroy();


echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>
e7d72d16gw1ey0g72ryj3j20f604oglx.jpg
Warning: setcookie() expects parameter 1 to be string, array given
你给传递给strlen()的参数不是string类型的。
改为
e7d72d16gw1ey0g7f9t27j20b901gaaa.jpg




原因 大解决:
1、session 是一个会话,在session_start() 的时候建立。
2、$_SESSION 是一个全局数组,和其他的全局数组没有任何区别。只是php在创建一个会话的时候,会顺便创建一个全局数组来保存会话的内容,这个数组又刚好叫$_SESSION,和我们自己去创建的其他数组没有什么不一样。
3、session_start() 执行的时候,开启了会话,首先是如果该会话没有被创建,则在系统的tmp目录中创建了session文件(默认,可自定义),并且在当前会话的执行脚本创建全局数组$_SESSION,这时的$_SESSION是一个空数组。如果会话存在,则读取session文件中的内容,建立$_SESSION数组。
4、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 就又是一个空数组了


<?php
session_start();
$_SESSION["admin"]="aa";
$_SESSION['name']="叶凌月";
$_SESSION['age']=16;
//结束当前会话
session_destroy();


?>
<?php
session_start();
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>


修改下


e7d72d16gw1ey0g8r51xbj206i07i0tr.jpg
总结 :
session_destroy();只是仅仅结束当前会话,而且是用之前要与session_start();一起用,session_start();是初始化变量$_SESSION相当于清除了数组里的变量


还有session_destory();与session_unset();得到的结果不一样,
要一样,session_destroy();重新启动一次,session_start();

e7d72d16gw1ey0giwqsh3j209v0bmmz0.jpge7d72d16gw1ey0gj5k3ulj209s0cu769.jpge7d72d16gw1ey0gje3er5j209j0b6q4r.jpg


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消