<?php
/**
*
* @authors Benjamin
* @date 2013-11-10 14:33:44
*/
/**
* PHP学习系列之会话控制
*
* 一、cookie
*
* cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。
* 每当计算机通过浏览器请求一个页面,就会发送这个 cookie。
*
* 设置cookie
* setcookie(name,value,expire,path,domain,secure)
* 向客户端发送一个 HTTP cookie
*
*
* 获取cookie
* $_COOKIE["name"]
*
* 获取所有cookie
* print_r($_COOKIE);
*
* isset($_COOKIE["name"])
* 判断某个cookie是否存在
*
* 删除cookie
* setCookie("name","");
* 或者利用过期时间删除
* setCookie("name","value",time() -1 );
*
* cookie的限制
* a.客户端使用(安全性)
* b.一个浏览器能创建cookie最多30个,并且每个不能超过4KB
* c.每个web站点能设置的cookie不能超过20个
*
* 使用:
* 会员登录,购物车,不暂用资源,安全性低
*
* 二、session
*
* session只要创建,必须通过session_start()开启,放到文件开头
* 一般存放时间1440秒,超时自动销毁,关闭浏览器自动销毁
*
* 设置session
* $_SESSION["name"] = "value"
*
* 判断session 是否存在
* isset($_SESSION["name"]);
*
* 删除session
* unset($_SESSION["name"]);
*
* 销毁所有的session
* session_destroy();
*
* 使用:
* 后台管理人员登录(人少),安全性高
*
*
*
*/
?>
<?php
/**
* Demo cookie
* demo_setCookie.php
*/
header("Content-type:text/html;charset=utf-8");
?>
<form method="post" action="demo_setCookie2.php">
name:<input type="text" name="username">
<input type="submit" value="登录">
</form>
<?php
/**
* demo_setCookie2.php
*/
if(isset($_POST["username"]) && $_POST["username"] == "benjamin"){
//正确,生成一个cookie 再跳转
setCookie("username","Benjamin");
header("Location:demo_setCookieSuccess.php");
}else{
header("Location:demo_setCookie.php");
}
?>
<?php
/**
* demo_setCookieSuccess.php
*/
header("Content-type:text/html;charset=utf-8");
if (isset($_COOKIE["username"])) {
echo "欢迎光临".$_COOKIE["username"];
}else{
echo "非法登录";
}
?>