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

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

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

  

复制代码 代码如下:
<?php

  /*******

  说明:cookie只能保存字符串 本实例中,需要保存多个URL(历史访问记录),思路是先将URL数组转为字符串,然后保存,读取时,再循环读取

  *******/

  //先假设当前URL为:http://localhost/php/?id=1

  $id = $_GET['id'];

  if(isset($_COOKIE['his'])){

  $urls = $_COOKIE['his'];//读取cookie

  $arr = unserialize($urls);//字符串转回原来的数组

  $arr[] = $_SERVER['REQUEST_URI'];//当前页面url添加到数组中

  $arr = array_unique($arr);//除去重复的

  if(count($arr)>10){//只保存10条访问记录

  array_shift($arr);

  }

  $urls = serialize($arr);//存储为字符串,

  setcookie('his',$urls);//保存到cookie当中

  }else{

  $url = $_SEVER['REQUEST_URI'];//获取当前页面URL

  $arr[] = $url;//将当前URL保存到数组中

  $urls = serialize($arr);//存储为字符串

  setcookie('his',$urls);//保存到cookie当中

  }

  echo "<a href='/php/?id=".($id-1)."'>上一页</a><br /><br />";//上一页,访问测试用

  echo "<a href='/php/?id=".($id+1)."'>下一页</a>";//下一页,访问测试用

  ?>

  <h3>历史访问页面</h3>

  <ul>

  <?php foreach($arr as $v){ ?>

  <li><a href="<?php echo $v; ?>"><?php echo $v; ?></a></li>

  <?php } ?>

  </ul>

  希望本文所述对大家的php程序设计有所帮助。