我希望 PHP 能够回显页面被查看的次数。作为服务器端脚本语言,我相当有信心有办法。
这就是我在想...
主文件
<body>
<?php
include("views.php");
$views = $views + 1;
echo $views;
?>
</body>
意见.php
<?php $views = 0; ?>
这有效,但不更新。(它将显示 1,但不会在刷新时继续计数。)
我希望 PHP 能够回显页面被查看的次数。作为服务器端脚本语言,我相当有信心有办法。
这就是我在想...
主文件
<body>
<?php
include("views.php");
$views = $views + 1;
echo $views;
?>
</body>
意见.php
<?php $views = 0; ?>
这有效,但不更新。(它将显示 1,但不会在刷新时继续计数。)
问题是变量$views
不会在视图之间持续存在。事实上,下次有人回到您的网站时,您的网站$views
将被重置为 0。您需要查看某种形式的持久性来存储浏览总数。
实现此目的的一种方法是使用数据库或通过文件。如果您正在使用文件,您可以在 views.php 文件中执行以下操作。
意见.php
$views = 0;
$visitors_file = "visitors.txt";
// Load up the persisted value from the file and update $views
if (file_exists($visitors_file))
{
$views = (int)file_get_contents($visitors_file)
}
// Increment the views counter since a new visitor has loaded the page
$views++;
// Save the contents of this variable back into the file for next time
file_put_contents($visitors_file, $views);
主文件
include("views.php");
echo $views;
您需要将数据存储在某处。变量不会在请求之间保持其状态。$views = 0
总是意味着$views = 0
,无论该变量是否存在included
。
将视图数写入文件 ( file_put_contents
, file_get_contents
) 或数据库以永久存储它们。
刷新页面时,不会保存状态。$views
每次开始时将其设置为 0,并以 1 递增。
要增加计数并保存值,您将需要使用数据库或文件来保存该数字。
好主意是使用像 MySQL 这样的数据库。Internet上有很多文章如何设置它并与PHP一起使用。
您可能想要做的 - 每次访问页面时更新“视图”中的页面行。最简单的方法是这样的:
<?php
/* don't forget to connect and select a database first */
$page = 'Home Page'; // Unique for every page
mysql_query("UPDATE views SET num = num + 1 WHERE page = '$page'");