VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • PHP Cookie记录用户历史浏览信息例子

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; 
 


出处:http://www.phpfensi.com/php/20160825/10600.html

相关教程