当前位置:首页 > PHP教程 > php会话 > 列表

PHP Cookie记录用户历史浏览信息例子

发布:smiling 来源: PHP粉丝网  添加日期:2016-08-25 15:00:42 浏览: 评论:0 

Cookie我们经常使用了可以记录到用户的行为并且保存信息在用户本地了,下次访问还可以直接调用这些Cookie信息了,下面我们来看一个利用PHP Cookie记录用户历史浏览信息例子,希望文章对各位有帮助。

购物类网站有时候需要了解用户最近的需求,收集和推送用户的查看记录成为了大部分此类的网站不可缺少的功能,下面是本人在开发项目中自己写的方法,一来留有保存,二来和大家分享!

【基础】

Cookie常用方法:

$_COOKIE[‘RecordLuHuiDUDU’] 得到Cookie

setcookie(‘RecordLuHuiDUDU’,”,time()-3600*24*30); setcookie(字段名,数据,过期时间); 设置Cookie

【注意】

重新设置Cookie需要使之前的Cookie失效,删除Cookie也是同样的方法:

setcookie(‘RecordLuHuiDUDU’,”,time()-3600*24*30);

【代码示例】

  1. /** 
  2.      * 将用品id存入Cookie中 
  3.      * 
  4.      * @param $id 
  5.      * @return bool 
  6.      */ 
  7.     public function setCookieRecord($id){ 
  8.         $data = null; 
  9.         if(!isset($_COOKIE['RecordLuHuiDUDU'])){ 
  10.             if(!emptyempty($id)) { 
  11.                 $data[0] = array
  12.                     'id' = $id
  13.                     'time' = date('Y-m-d H:i:s', time()) 
  14.                 ); 
  15.             }else
  16.                 return false; 
  17.             } 
  18.         }else
  19.             if(!emptyempty($id)) { 
  20.                 $data = $_COOKIE['RecordLuHuiDUDU']; 
  21.                 setcookie('RecordLuHuiDUDU','',time()-3600*24*30); 
  22.                 $data = json_decode($data, true); 
  23.                 $num = count($data); 
  24.                 //判断是否重复 
  25.                 $judge = false; 
  26.                 foreach($data as $index => $value){ 
  27.                     if($data[$index]['id'] == $id){ 
  28.                         $data[$index]['time'] = date('Y-m-d H:i:s', time()); 
  29.                         $judge = true; 
  30.                     } 
  31.                 } 
  32.  
  33.                 if($judge){ 
  34.                     setcookie('RecordLuHuiDUDU',json_encode($data),time()+3600*24*30); 
  35.                     return true; 
  36.                 } 
  37.  
  38.                 if($num == 10){ 
  39.                     for($i = 0; $i < 9; $i++){ $data[$i] = $data[$i+1]; } $data[9] = array'id' => $id
  40.                         'time' => date('Y-m-d H:i:s', time()) 
  41.                     ); 
  42.                 } 
  43.                 if($num <10){ $data[$num] = array'id' => $id
  44.                         'time' => date('Y-m-d H:i:s', time()) 
  45.                     ); //phpfensi.com 
  46.                 }else { 
  47.                     return false; 
  48.                 } 
  49.             } 
  50.         } 
  51.         setcookie('RecordLuHuiDUDU',json_encode($data),time()+3600*24*30); 
  52.         return true; 

Tags: Cookie记录 PHP用户历史

分享到: