/* * Cookie 实例(用户浏览记录)
* 分析:
*用户浏览记录是不断变更的,是多条数据,我们可以使用数组来保存.
* cookie只能保存字符串,如何保存数组?
* 解决方案: 通过系统内置的序列化和反序列化函数来实现, serialize() 和 unserialize()
//1. 获取URL地址,用到$_SERVER['REQUEST_URI']
$url = $_SERVER['REQUEST_URI'];
// echo $url,'';
//2. 将URL放到Cookie中
//用一个数组来保存URL
$arr=[];
//首先要判断是否有浏览记录,如果有,将当前URL放到浏览记录前面
//如果不存在浏览记录,则新建一个浏览记录
if (isset($_COOKIE['his'])) {
$arr = unserialize($_COOKIE['his']);//取出来的是字符串,需要反序列化
array_unshift($arr,$url);//将URL地址放到历史记录最前面
//重复的浏览记录去除掉
$arr = array_unique($arr);
if (count($arr) > 10) { //只保存10条记录
array_pop($arr);//将最后一条记录弹出
}
//再次存放到cookie中
setcookie('his',serialize($arr));
}else{
$arr[] = $url;
//首次存放到cookie
setcookie('his',serialize($arr));}
echo "历史浏览记录";
echo '<ol>';
foreach ($arr as $k => $v) {
echo '<li>'.$v.'</li>';
}
echo '</ol>';
echo "<hr />";
echo '随机生一个URL地址';
网友评论