本实例在创建和读取COOKIE的同时,设置COOKIE的生命周期,实现控制登录用户的过期时间的功能。
PS:如果不设置COOKIE的时间,就表示其生命周期为浏览器会话的时间,只要关闭IE浏览器,COOKIE就会自动消失,这种COOKIE称为会话COOKIE,一般不会保存在硬盘上,而是保存在内存中。
设计过程
- 创建
index.php
文件用于编写用户登录页面。
<div class="login">
<form action="index_ok.php" method="post">
<div class="user">用户名:<input type="text" name="user"></div>
<div class="pwd"><input type="password" name="pwd"></div>
<div class="sub"><input type="submit" name="sub"></div>
</form>
</div>
- 创建
index_ok.php
文件用于获取表单提交的用户信息,并且判断登录的用户名和密码是否正确,如果正确,则将用户名和密码赋给指定的COOKIE变量,并设置COOKIE的过期时间,跳转到cookie.php
页面。否则,直接给出提示信息,并重新跳转到登录页。
注意:setcookie()
必须位于html标签之前。
<?php
if ($_POST['user']=='root' && $_POST['pwd']=='123456'){
setcookie('user',$_POST['user'],time()+60);
setcookie('pwd',$_POST['pwd'],time()+60);
echo "<script>alert('登陆成功!'); window.location.href='cookie.php';</script>";
}else{
echo "<script>alert('用户名或者密码不正确!'); window.location.href='index.php';</script>";
}
- 创建
cookie.php
文件,判断COOKIE变量的值是否存在,如果存在则输出本页内容;否则,给出提示信息并跳转到登陆页面。
<?php
if ($_COOKIE['user']=='root' && $_COOKIE['pwd']=='123456'){
echo "欢迎光临!";
}else{
echo "<script>alert('COOKIE已经过期,请重新登录!'); window.location.href='index.php';</script>";
}