Session
从登录建立连接到退出就是一次会话。Session数据就会在会话期间用户存在服务器端的数据。这样,当用户在Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当会话过期或被放弃后(关掉浏览器),服务器将终止该会话。session也可以设置超时。
//登录界面
$_SESSION['user']=username;
//其他页面
if($_SESSION['user']==Nnull)
header("location.nologn.php");
ini_set('session.gc_maxlifetime',"3600");//秒
unset($_SESSION['user']);
session_destroy();
cookie
- Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的kev/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie),比如用户名和密码等。
- Cookies最典型的应用是用户成功登录网站后把用户名和密码记录在cookie里,在下一次进入此网站时简化登录手续。另一个重要的应用场合是“购物车”之类处理。用户可能在一段时间内在同一家网站的不同页面中选择不同的商品。这些信息都会写入Cookies,以便在最后付款时提取信息。
<?php
setcookie("user","Alex Porter",time()+3600);
?>
//使用cookie记录登录状态流程
//loginUI:username、pwd
//login后台:
//校验username&pwd
//设置cookie
setcookie("username",$'username,time()+30*24*60*60);
//验证,成功则记录入session['username'],失败则提示无权限或者登陆页面
isset($_COOKIE['username'])$isset($_COOKIE['pwd'])
//退出
setcookie("username");
总结
session机制采用的是在服务器端保持状态的方案,而cookie机制采用的是在客户端保持状态的方案。