会话控制
当我们在浏览网页时,访问每一个web页面都需要使用"HTTP协议"实现,但是HTTP协议是无状态协议,就是说HTTP协议没有一个内建机制来维护两个事务之间的状态。当一个用户请求一个页面以后,在请求同一个网站上的另外一个页面时,HTTP协议并不能告诉我们两个请求是来自同一个用户,而不能将这两次访问联系到一起!
那有怎么解决方法呢?
Cookie
Session
每个浏览器都有自己的COOKIE。
一、cookie
Cookie是用来将网站的资料记录在客户端的技术,这种技术让Web服务器能将一些
资料,存放于客户端(用户的电脑)之中。
比如:当通过验证,成功登录网站后,在”网页一“的PHP脚本中,会把这个用户
有关的信息,设置到客户端电脑的Cookie中,当再次访问同一个网站中的其他脚
本时,就会自动携带Cookie中的数据一起访问,在服务器中的每个脚本中都可以
接受Cookie中的数据,不需要每访问一个页面就重新输入一次登录者的信息。
1.向客户端电脑中设置Cookie
2.在服务器端上读取Cookie的内容
3.将多维数组应用于Cookie中
4.删除Cookie
1.向客户端电脑中设置Cookie setcookie (); 2.在服务器端上读取Cookie的内容 $_COOKIE 3.将多维数组应用于Cookie中 setcookie("member[name]",'孙胜利'); setcookie("member[email]",'1205429372@qq.com'); 4.删除Cookie setcookie("member",'',time()-1);
二、session
Session技术与Cookie相似,都是用来存储使用者的相关资料,但是最大的不同之
处在于Cookie是将资料存储在客户端电脑中,而Session则是将数据存放于服务器
上。把保存的资料比喻成超市里面的会员卡,Cookie技术就相当于需要用户自己
保存会员卡,每次去超市必须要持有会员卡才能代表自己的身份,那么Session技
术就相当于会员卡由超市方保存,每次来超市的时候只需要报出会员卡的卡号(我
们可以称为Session ID,客户端的cookie中只需要保存Session ID)即可!
1.开启session
2.使用session存储数据
3.注销变量与销毁session
1.开启session session_start();//开启一个会话,或者返回已经存在的会话 2.使用session存储数据 session_start(); $_SESSION['username']='sunshengli'; $_SESSION['email']='1205429372@qq.com'; 3.注销变量与销毁session unset($_SESSION['username']); unset($_SESSION['email']); 或者$_SESSION=array(); setcookie(session_name(),"",time()-3600);