Heim  >  Artikel  >  php教程  >  php 使用COOKIE制作浏览记录

php 使用COOKIE制作浏览记录

WBOY
WBOYOriginal
2016-06-13 11:31:011529Durchsuche

文件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]);
	}
	
}

?>

文件二 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);
?>

  程序流程:

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn