|
session有几种使用方式
1.基于cookie的
2.基于url的sid字符串的
3.存储到数据库中的
4.存储的memcache中的(效率最好的)
<?php
/**
* session会话控制
* php.ini中可以设置session保存位置
* session.sava_path="/xxxxx/xxxxx"
* session.**等用来设置session属性
*
* 1.开启session
* 若是基于cookie的session,那么在session_start之前不允许有任何形式的输出
* 或者在配置文件中使用session.auto_start=1;
* 如果使用配置文件,那么对象无法放入对象文件中;所以不建议使用配置文件开启
*
* 2.销毁session
*
*
*
*/
//开启session或者使用已经开启的sessionId
session_start();
//只要是当前会话,再打开其他页面中,就可以通过_SESSION["aa"]和_SESSION["bb"]来访问内容
$_SESSION["aa"]="111";
$_SESSION["bb"]="222";
echo "session_id:".session_id();
echo "<br>session_name:".session_name();
//如果开启了cookie就可以从默认的cookie中找到sessionid
//PHPSESSID是php.ini中的session.name的属性值
echo "<br>COOKIEId:".$_COOKIE["PHPSESSID"];
echo "<br>COOKIEName:".$_COOKIE[session_name()];
destroySession();
/**
* 销毁session
*/
function destroySession(){
//1.开启session
//在新页面中需要先开启session
//session_start();
//2.删除数据
//删除session中的值方法一:
unset($_SESSION["aa"]);
//删除session中的值方法二:
$_SESSION=array();
//3.删除客户端在COOKIE中 sessionID
if (isset($_COOKIE[session_name()])){
//需要指定cookie的路径在php.ini中session.cookie_path
setcookie(session_name(),'',time()-3600,'/');
};
//4.彻底销毁session
session_destroy();
}
?> |
|
|
|
|
|
|