首页 > 技术文章 > cookie程序设计举例

xs-yqz 2015-11-05 12:43 原文

编写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>";
 }
?>

 

推荐阅读