时间:2014年4月11日21:17:57 计数器与浏览历史


Cookie计数器

cookie来记录在网站的访问量。

如果是第一次访问,没有cookie信息

<?php


if (!isset($_COOKIE['num'])) {

setcookie('num',2);

     echo  "这是你第1次访问本页面" ;

}else{


     setcookie('num',$_COOKIE['num']+1);

     echo  "这是你第",$_COOKIE['num'],'次访问本页面';

}

?>

也可以设置变量

<?php


if (!isset($_COOKIE['num'])) {

     $num  = 1;

     setcookie('num',$num+1);

     echo  "这是你第1次访问本页面" ;

}else{

     $num  = $_COOKIE['num'];

     setcookie('num',$num+1);

     echo  "这是你第",$num,'次访问本页面';

}

?>


一旦设置了cookie,下次页面刷新时才看到


Cookie只能存储字符串、数字,不能存储数组和资源这样的多维数据


利用cookie做浏览历史

<?php

$uri = $_SERVER['REQUEST_URI'];


/*因此需要将$uri放在数组里,

但数组需要转化为字符串*/

if (!isset($_COOKIE['history'])) {

     $his[]  = $uri;

}else{

     $his=explode('|',  $_COOKIE['history']);

     array_unshift($his,  $uri);//倒序存储

     $his  = array_unique($his);//保持唯一,去重

     if  (count($his)>10) {

          array_pop($his);

     }


}

setcookie('history',implode("|",  $his));

$id = isset($_GET['id'])?$_GET['id']:0;


?>

<p>

     <a  href="05.php?id=<?php echo $id-1;?>">上一页</a>

</p>

<p>

     <a  href="05.php?id=<?php echo $id+1;?>">下一页</a>

</p>

<ul>

     <li>浏览历史</li>

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

     <li><?php  echo $v;?></li>

     <?php  }?>

</ul>



<!―

上一页


下一页


浏览历史

/execise/20140411/05.php?id=1

/execise/20140411/05.php?id=2

/execise/20140411/05.php?id=3

/execise/20140411/05.php?id=4

/execise/20140411/05.php?id=5

/execise/20140411/05.php?id=6

/execise/20140411/05.php?id=7

/execise/20140411/05.php?id=8

/execise/20140411/05.php?id=9

/execise/20140411/05.php?id=10  -->


你可能感兴趣的:(cookie)