PHP之session工作流程

来源:互联网 发布:vmware mac破解版下载 编辑:程序博客网 时间:2024/06/13 21:35

上一篇博客介绍了关于cookie的流程,下面是一个更为重要的:会话控制(Session),废话不多说,直接上干货:

FOR EXAMPLE:



解释:

1.当我们首次访问服务器时,会生成一个唯一的session_id,然会我们可以为这个用户设置一些session信息,用户唯一标示这个用户,并将session_id返回到客户端

2.当我们再一次进行访问时,浏览器会自动将session_id一起进行提交,服务器用户判断,然后根据session_id,去查找,并将查到的信息保存在$_SESSION数组里,

3,session只保存在服务器端,在客户端保存的只是session_id

下面有一个小的demo:

<?phpheader("content-type:text/html;charset=utf-8");//开启session//在次之前不要用任何输出session_start();//session_start()这个函数必须位于<html>标签之前/**session_start()这个函数首先会检查当前是否存在一个会话,如果不存在,则会创建一个全新的会话,并且这个会话可以访问超全局变量$_SESSION数组,如果存在,函数会直接使用这个会话,加载已经注册过的会话变量,然后使用**/$_SESSION["aa"]="1111111111";$_SESSION["bb"]="2222222222";//将session_id输出echo session_id()."<br/>";?>

<?phpheader("content-type:text/html;charset=utf-8");/**session_start()这个函数首先会检查当前是否存在一个会话,如果不存在,则会创建一个全新的会话,并且这个会话可以访问超全局变量$_SESSION数组,如果存在,函数会直接使用这个会话,加载已经注册过的会话变量,然后使用**/session_start();print_r($_SESSION);//session_name() PHPSESSIDecho (session_name()."<br/>");echo (session_id()."<br/>");?>

<?php//删除sessionheader("content-type:text/html;charset=utf-8");//header()函数前面不可以有输出//删除也需要开启sessionsession_start();//清空session值,或者我们可以用unset$_SESSION=array();//最后删除客户端的相关cookie//首先判断cookie是否存在(即删除客户端在cookie中的session_id)if(isset($_COOKIE[session_name()])){//在php的配置文件我们制定了cookie的路径,有关于session的//session.cookie_path = /setcookie(session_name(),'',time()-3600,"/");}//彻底删除session(会话控制)session_destroy();?>

ps:自己要动手,你会收获很多

原创粉丝点击