如何在X页面浏览量之后显示不同的页面?

时间:2013-07-16 13:58:26

标签: php

我目前有以下代码:

<?php
session_start();

if (!isset($_SESSION['views'])) { 
$_SESSION['views'] = 0;
}

$_SESSION['views'] = $_SESSION['views']+1;

if ($_SESSION['views'] > 100) {
Execute Code
}

?>

我正在尝试这样,在100次网页浏览后,页面内容会发生变化。

此代码的问题在于它不会以相同的方式对每个用户起作用。它对每个访问者都是单独计算而不是全局计算。

有没有办法实现这个目标?

4 个答案:

答案 0 :(得分:0)

为每个用户存储$_SESSION(不是整个应用程序),因此您应该使用数据库或文本文件来存储计数器。

答案 1 :(得分:0)

$_SESSION允许您按用户存储信息,而不是全局存储信息。

最简单的方法是将视图的数量存储在文件中,其代码如下:

// read previous count
$filename = 'hitcount.txt';
$handle = fopen($filename, 'r');
$views = trim(fgets($handle)) + 1; // read and increment for current view.
fclose($handle);

$handle = fopen($filename, 'w');
fwrite($handle, $views); // replace previous count
fclose($handle);

if($views > 100){
// do some stuff
}

答案 2 :(得分:0)

$counter = file_get_contents("counter.txt");
$counter++;
file_put_contents("counter.txt", $counter);

if ($counter > 100){
    print("yey");
}

答案 3 :(得分:0)

如彼得,雷内提到的那样

会话本身就是用户群,因为它本质上是cookie的更大版本。 如果没有太多连接,最简单,最快捷的方法就是使用简单的mysql DB 连接然后更新给定日期的访问计数器

UPDATE visit SET visit_counter = visit_counter+1 WHERE date = '$today';

其中$ today = date(“Y-m-d”);

只是一个例子(访问是表格 - visit_counter是visit_counter列)