我希望PHP能够回显页面被查看的次数。作为服务器端脚本语言我非常有信心有一种方法。
这就是我在想的......
main.php
<body>
<?php
include("views.php");
$views = $views + 1;
echo $views;
?>
</body>
views.php
<?php $views = 0; ?>
这有效,但不会更新。 (它将显示1,但不会继续计算刷新。)
答案 0 :(得分:2)
问题是变量$views
不会从视图到视图持续存在。事实上,下次有人回到你的网站$views
时会被重置为0.你需要看看某种形式的持久性来存储视图总数。
您可以实现此目的的一种方法是使用数据库或通过文件。如果您使用的是文件,则可以在views.php文件中执行以下操作。
<强> views.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);
<强> main.php 强>
include("views.php");
echo $views;
答案 1 :(得分:0)
您需要存储某处的数据。变量不会在请求之间保持状态。 $views = 0
始终表示$views = 0
,无论该变量是否为included
。
将视图数写入文件(file_put_contents
,file_get_contents
)或数据库以永久存储它们。
答案 2 :(得分:0)
刷新页面时,状态不会保存。每次开始时,$views
都设置为0,并且增加1。
要增加计数并保存值,您需要使用数据库或文件来保留数字。
答案 3 :(得分:0)
很棒的想法是使用像MySQL这样的数据库。互联网上有很多文章如何设置和使用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'");