client--------->1.request------------------------->server
2. session_start();
|<-------------3.reponse(SESSION_ID)<--------|
|------------->4.request(SESSION_ID)--------->|
5. session_start();
|<-------------6.reponse(SESSION_ID)<---------|
|------------->7. request(SESSION_ID + logout)-->|
8. session_destroy();
|<-------------9. reponse(删除cookie文件)<-------|
1.client打开网页,向server发出请求,client上由于没有相应的cookie文件存在,在请求中不输送SESSION_ID
2.服务器在接受到client的请求后,通过执行session_start()函数开始进行session的处理,
首先确认请求中有没有SESSION_ID,如果没有的话,发行一个新的SESSION_ID;如果有的话,
则调用那个存有SESSION_ID的文件,并把信息写入$_SESSION里去,并存入以sess_开头的文件里。
3.把写入信息的$_SESSION参数发回给client,client在GET服务器发来的信息后,把这些信息保存在cookie里。
4.client把cookie里的SESSION_ID一起写入header后再次向server发出请求。重复1-3的操作
7.client发出登出请求
8.服务器接受请求后,通过执行session_destroy()函数开始删除session文件处理
9.服务器向client发出删除保存在client上的cookie文件的命令: setcookie(session_name(), '', time()-60, '/');
使用会话的基本步骤:
1 开始一个会话
第一种方法是调用session_start()函数;
第二种方法是将php设置为当有用户访问时就自动启动会话一个会话。可以使用php.ini中的session.auto_start选项开完成该设置(开启后将导致无法使用对象作为会话变量)
2注册一个会话
eg $_SESSION['A']=1;
3使用会话变量
4注销或销毁会话
unset($_SESSION['A'])来销毁一个会话变量
$_SESSION=array();销毁所有的会话变量
当使用完一个会话后,首先应该注销所有的变量,然后再调用session_destroy()来清除会话ID
第一种方法是调用session_start()函数;
第二种方法是将php设置为当有用户访问时就自动启动会话一个会话。可以使用php.ini中的session.auto_start选项开完成该设置(开启后将导致无法使用对象作为会话变量)
2注册一个会话
eg $_SESSION['A']=1;
3使用会话变量
4注销或销毁会话
unset($_SESSION['A'])来销毁一个会话变量
$_SESSION=array();销毁所有的会话变量
当使用完一个会话后,首先应该注销所有的变量,然后再调用session_destroy()来清除会话ID
转载于:https://blog.51cto.com/zhoutianqi/611875