PHP实现将浏览历史页面网址保存到cookie的方法

这篇文章主要介绍了PHP实现将浏览历史页面网址保存到cookie的方法,涉及php对cookie的读取、字符串转化及保存等技巧,需要的朋友可以参考下

本文实例讲述了PHP实现将浏览历史页面网址保存到cookie的方法。分享给大家供大家参考。具体如下:

将浏览历史页面网址保存到cookie,大致的思路如下面的代码,与实际应用有些差别,代码如下:

  1. <?php
  2. /*******
  3. 说明:cookie只能保存字符串 本实例中,需要保存多个URL(历史访问记录),思路是先将URL数组转为字符串,然后保存,读取时,再循环读取
  4. *******/
  5. //先假设当前URL为:http://localhost/php/?id=1
  6. $id = $_GET['id'];
  7. if(isset($_COOKIE['his'])){
  8. $urls = $_COOKIE['his'];//读取cookie
  9. $arr = unserialize($urls);//字符串转回原来的数组
  10. $arr[] = $_SERVER['REQUEST_URI'];//当前页面url添加到数组中
  11. $arr = array_unique($arr);//除去重复的
  12. if(count($arr)>10){//只保存10条访问记录
  13. array_shift($arr);
  14. }
  15. $urls = serialize($arr);//存储为字符串,
  16. setcookie('his',$urls);//保存到cookie当中
  17. }else{
  18. $url = $_SEVER['REQUEST_URI'];//获取当前页面URL
  19. $arr[] = $url;//将当前URL保存到数组中
  20. $urls = serialize($arr);//存储为字符串
  21. setcookie('his',$urls);//保存到cookie当中
  22. }
  23. echo "<a href='/php/?'>上一页</a><br /><br />";//上一页,访问测试用
  24. echo "<a href='/php/?'>下一页</a>";//下一页,访问测试用
  25. ?>
  26. <h3>历史访问页面</h3>
  27. <ul>
  28. <?php foreach($arr as $v){ ?>
  29. <li><a href="<?php echo $v; ?>"><?php echo $v; ?></a></li>
  30. <?php } ?>
  31. </ul>