编写Cookie应用程序,一般流程是:首先尝试获取某个Cookie变量,如果有,则表明是老客户,读取其cookie信息,为其提供服务。
如果没有,则表明是第一次来访的客户,通过表单提交获取其身份信息,再将这些信息存入到Cookie变量中
1 <?php 2 /* 3 * 4 * @Authors peng--jun 5 * @Email 1098325951@qq.com 6 * @Date 2015-11-05 12:10:47 7 * @Link http://www.cnblogs.com/xs-yqz/ 8 * @version $Id$ 9 ========================================== 10 */ 11 header("Content-type: text/html; charset=UTF-8"); 12 if ($_COOKIE["user"]["xm"]) { //尝试获取指定的Cookie变量,如果有 13 $visnum = intval($_COOKIE["user"]["num"])+1;//将原来的访问次数加1 14 $expire = intval($_COOKIE["user"]["expire"]);//获取有效期 15 //将本次访问时间写入Cookie 16 setcookie("user[dt]",date("Y-m-d h:i:s"),time()+3600*$expire); 17 setcookie("user[num]",$visnum,time()+3600*$expire); 18 echo "欢迎您:".$_COOKIE["user"]["xm"]; 19 echo "<br/>这是您第".$visnum."次访问本网站"; 20 echo "<br/>您上次访问是在".$_COOKIE["user"]["dt"]; 21 }else {//没有Cookie则显示登录表单 22 echo ' <!DOCTYPE html> 23 <html lang="en"> 24 <head> 25 <meta charset="UTF-8"> 26 <title>Document</title> 27 </head> 28 <body> 29 <form method="post" action="4.20.php"> 30 <p>账号:<input name="xm" type="text"></p> 31 <p>密码:<input name="pwd" type="password"></p> 32 <p>保存:<select name="Save"> 33 <option value="-1">不保存</option> 34 <option value="7">保存一周</option> 35 <option value="30">保存一月</option> 36 <input type="submit" name="submit" value="登陆"> 37 </p> 38 </form> 39 </body> 40 </html> 41 '; 42 } 43 ?>
4.20.php处理表单数据
<?php header("Content-type: text/html; charset=UTF-8"); if ($_POST["xm"] == "admin" && $_POST["pwd"] == "123") { setcookie("user[xm]",$_POST["xm"],time()+3600*intval($_POST["Save"])); setcookie("user[dt]",date("Y-m-d h:i:s"),time()+3600*intval($_POST["Save"])); setcookie("user[num]",1,time()+3600*intval($_POST["Save"])); setcookie("user[expire]",$_POST["Save"],time()+3600*intval($_POST["Save"])); //保存有效期到Cookie echo $_POST["xm"].":首次光临"; var_dump($_COOKIE); }else{ echo "<script>alert('用户或密码不正确');location.href='4.19.php';</script>"; } ?>