<?php
//session 案例
#--test.php 用于查看session情况
#--setsession.php 用于创建session
#--destroy.php 用于销毁与session有关的变量,内存及session id
?>
setsession.php:
<?php
header("Content-Type:text/html;charset=utf-8");
/*注释:session_start() 函数必须位于 <html> 标签之前:
#cookie与session的区别:
#cookie机制采用的是在客户端保持状态的方案。
#session机制采用的是在服务器端保持状态的方案。*/
//启动新会话或者重用现有会话
#当首次调用session_start()函数时,表示启动新会话
#会自动创建一个名为php.ini(定义)PHPSESSID的name值及对应value值。
#当第二次调用session_start()函数时,表示重新打开一个会话
#不会创建一个新的session文件在服务器端
session_start();
$_SESSION['name'] = 'king';
$_SESSION['email'] = 'king@126.com';
$_SESSION['website'] = 'www.apache.com';
?>
test.php:
<?php
header("Content-Type:text/html;charset=utf-8");
#注释:session_start() 函数必须位于 <html> 标签之前:
#cookie与session的区别:
#cookie机制采用的是在客户端保持状态的方案。
#session机制采用的是在服务器端保持状态的方案。
//启动新会话或者重用现有会话
//在这里表示重用现有会话
session_start();
var_dump($_SESSION);
var_dump($_COOKIE);
?>
destroy.php:
<?php
header("Content-Type:text/html;charset=utf-8");
#注释:session_start() 函数必须位于 <html> 标签之前:
#cookie与session的区别:
#cookie机制采用的是在客户端保持状态的方案。
#session机制采用的是在服务器端保持状态的方案。
//启动新会话或者重用现有会话
//在这里表示重用现有会话
session_start();
//释放所有session变量
session_unset();
//销毁一个会话中的全部数据
session_destroy();
//销毁保存在客户端关于session的信息
//这里在删除cookie时,可能会存在删除不掉的问题
//使用setcookie删除cookie的时候,需要与当时设置setcookie的参数一致!
#在php.ini中 session.sava_path 路径是 “/”,表示web根目录
#setcookie函数第四个参数path,如果不填写,默认表示当前目录及子目录!
#而在我们创建session id时所产生的cookie 的path 值是 "/"
setcookie(session_name(),'',time()-3600,'/');
?>