php 使用COOKIE制作浏览记录

本文介绍了一种使用PHP和Cookie记录网站浏览历史的方法。通过自定义类HistoryCookie,可以设置Cookie的保存时间、名称及最大记录条数。文章详细展示了如何创建类实例,保存数据至Cookie,并读取已保存的历史记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件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>";
print_r($cookiedate);
?>

  程序流程:

  1. 引入类库文件
  2. 初始化类库 (可以填写三个参数 以此是cookie的名称,保存的时间,保存到条数)
  3. 打开缓冲区 ob_start(); (也可以直接跳过,如果发现有报错就加上此代码,放置在文件的一开始)
  4. 接收需要保存的数据
  5. 保存之cookie中

转载于:https://www.cnblogs.com/threemore/p/cookies.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值