File 1 cookieHistory.class.php
<?php /** *使用COOKIE 制作网站浏览记录 *by threemore */ class HistoryCookie { var $times =""; //记录COOKIE保存时间 var $cookiename = 'History_cookie'; //COOKIE名称 var $counts = 5; function __construct($name="",$times = '',$counts) { if(!empty($times)) $this->times = time()+$times; if(!empty($name)) $this->cookiename = $name; if(!empty($counts)) $this->counts = $counts; } //保存记录到COOKIE中 public function getData($data) { $historydate = array(); $historydate[] = $data; //unset($_COOKIE[$this->cookiename]); if(isset($_COOKIE[$this->cookiename])) { $new_history = stripslashes($_COOKIE[$this->cookiename]); $new = unserialize($new_history); if(count($new) > ($this->counts-1)) return unserialize(stripslashes($_COOKIE[$this->cookiename])); foreach ($new as $key => $value) { if(!in_array($value,$historydate)) { $historydate[] =$value; } } $savedate = serialize($historydate); setcookie($this->cookiename,$savedate,time()+$this->times); }else { $savedate= serialize($historydate); setcookie($this->cookiename,$savedate,$this->times); } return unserialize(stripslashes($_COOKIE[$this->cookiename])); } //销毁历史记录 public function Destroy() { unset($_COOKIE[$this->cookiename]); } } ?>
File 2 history.php
<?php require_once 'cookieHistory.class.php'; ob_start();//打开缓冲区 $history = new HistoryCookie('cookiename',10000); $data['id'] = $_GET['id']; $data['name'] = $_GET['name']; $cookiedate = $history->getData($data); echo "<pre class="brush:php;toolbar:false">"; print_r($cookiedate); ?>
Program flow: