//创建一个Cookie,
//Cookie是在你的客户机存一个小文件,这个文件包含你登录时的信息。
//setcookie可以创建一个客户机的cookie文件
//第一个参数表示cookie的名称,第二个参数表示这个cookie名称的值
//所谓的会话结束时,就是当你这个浏览器关闭时,就没有了,就自动删除
//创建一个包含过期时间的cookie,过期时间采用当前的时间戳+秒即可
//time()+(7*24*60*60)表示未来7天
//一旦setcookie改变了,一刷新浏览器,就会把旧的cookie覆盖掉
setcookie('name','Lee',time()+(7*24*60*60));
setcookie('name2','WQ');
//读取本机的cookie,采用一个超级全局变量$_COOKIE
//里面放cookie名即可
//有一个特性,setcookie并不是及时生成,它会慢一拍
//PS:慢一拍,第一次刷新,只是生成覆盖了原来。
//但获取的还是之前的,而第二次刷新,才能真正获取到。
echo $_COOKIE['name']."第一次刷新测试地方";
//用变量检测函数来判读cookie是否存在
if (isset($_COOKIE['name2'])) {
echo $_COOKIE['name2'];
} else {
echo '不存在此用户';
}
//删除cookie
setcookie('name','Lee');
//中间删除掉这个cookie
//将这个值设置为空即可
//setcookie('name','');
//我将过期时间调整到目前的时间还少一秒,那么就等于是过期的了
setcookie('name','Lee',time()-1);
echo $_COOKIE['name'];
练习1:
文件demo1.php
内容:
<a href="demo2.php?a=5">Lee</a>
文件demo2.php
内容:
<?php
// echo $_POST['username']
// //如果表单采用的get传输,那么接受必须采用$_GET
echo $_GET['username'];
// //到底那种比较好呢。????
echo $_GET['a'];
?>
点击demo1中的链接后,跳转到demo2,然后
$_GET['a']得到传输过来的值,输出:
5
练习2
文件demo6.php
内容:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<form method="post" action="demo7.php">
姓名:<input type="text" name="username" /><br />
<input type="submit" value="提交" />
</form>
文件demo7.php
内容:
<?php
//如果姓名和指定的姓名相同,那么就生成一个cookie
//完成登录
if (isset($_POST['username']) && $_POST['username'] == 'ee') {
//如果正确了,我生成一个cookie,再跳转
setcookie('name','eee');
header('Location:demo8.php');
} else {
header('Location:demo6.php');
}
?>
文件demo8.php
内容:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<?php
if (isset($_COOKIE['name'])) {
echo '欢迎光临:'.$_COOKIE['name'];
} else {
echo '非法登录';
}
?>
练习2解释:
demo6输入内容,传输到demo7中处理
如果输入的是:ee
那么设置
setcookie('name','eee');,并且跳转到demo8
如果输入不是:ee
那么,通过header('Location:demo6.php');跳转到demo6中
在demo8 中如果,cookie中有name,那么就输出,最后输出的是
eee