Home > Backend Development > PHP Tutorial > 不同访客显示不同内容,同一访客以后访问内容不变,清除缓存除外

不同访客显示不同内容,同一访客以后访问内容不变,清除缓存除外

WBOY
Release: 2016-06-13 12:17:41
Original
1072 people have browsed it

不同访客展示不同内容,同一访客以后访问内容不变,清除缓存除外。
例如
1、有5个内容A、B、C、D、E,其中一个将要网页的一个或多个位置展示。
2、第一个访问者访问该网页后,看到A内容,以后该访问者再打开这个网页时,看到的都是内容A,除非他清除浏览器缓存。
3、第二个访问者访问该网页后,看到B内容,以后该访问者再打开这个网页时,看到的都是内容B,除非他清除浏览器缓存。
4、。。。
5、第六个访问者访问该网页后,看到A内容,以后该访问者再打开这个网页时,看到的都是内容A,除非他清除浏览器缓存。
6、第七个访问者访问该网页后,看到B内容,以后该访问者再打开这个网页时,看到的都是内容B,除非他清除浏览器缓存。
如些循环

相当于每进一个访客就从5个内容中按顺序取一个显示给访客,取完5个后再循环。

这个功能的代码怎么写呢?
------解决思路----------------------

本帖最后由 fdipzone 于 2015-04-06 17:24:06 编辑
<br />$arr = array('A','B','C','D','E');<br />$file = 'data.log';<br /><br />// 获取未显示过的page,如全部已显示,则重新赋值<br />if(file_exists($file)){<br />    $data = json_decode(file_get_contents($file),true);<br />    if(!$data){<br />        $data = $arr;<br />    }<br />}else{<br />    $data = $arr;<br />}<br /><br />// 判断用户是否访问过,如访问过直接显示上次访问的结果,否则抽取最前一页,写入用户cookies<br />if(isset($_COOKIE['show'])){<br />    $result = $_COOKIE['show'];<br />}else{<br />    $result = array_splice($data,0,1);<br />    $result = array_pop($result);<br />    setcookie('show',$result,time()+3600);<br />    file_put_contents($file, json_encode($data), true);<br />}<br /><br />echo $result;<br />
Copy after login

------解决思路----------------------
<br /><?php<br />$content = array('A', 'B', 'C', 'D', 'E');<br />!($cookie = intval($_COOKIE['content'])) && setcookie('content', $cookie = rand(0, count($content) - 1));<br />echo $content[$cookie];<br />
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template