Rumah > pembangunan bahagian belakang > tutorial php > 不同访客显示不同内容,同一访客以后访问内容不变,清除缓存除外

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

WBOY
Lepaskan: 2016-06-13 12:17:41
asal
1073 orang telah melayarinya

不同访客展示不同内容,同一访客以后访问内容不变,清除缓存除外。
例如
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 />
Salin selepas log masuk

------解决思路----------------------
<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 />
Salin selepas log masuk
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan