跟踪动态网站上的页面浏览量

Posted

技术标签:

【中文标题】跟踪动态网站上的页面浏览量【英文标题】:Tracking Page Views on dynamic website 【发布时间】:2013-04-26 17:28:26 【问题描述】:

我正在尝试将某个帖子的浏览次数存储在我的数据库中。例如,我有一个页面 index.php,根据用户点击的文章,它会将他们带到某篇文章(仍然在 index.php 上):index.php?article_id=24。我试图弄清楚的问题是如何存储使用 php $_GET 方法查看帖子/文章的动态页面。我可以在 index.php 页面上做,但我不知道如何在每篇文章上做,因为它在技术上仍然在同一页面上 (index.php)。

这是我的页面计数器代码:

?php
$filename = "pageviews.txt";

$data = file_get_contents($filename);
settype($data,"integer");
$data++;
$f = fopen($filename,"w+");

fwrite($f,$data);
fclose($f);

//insert $data into db
?>

这是我在用户点击文章并检索文章 ID 后的代码:

            <section class="large-12 columns">
                <?php 
                    $inner_article = mysqli_fetch_array(query($art_sql));
                    ?>
                    <h1><?php echo $inner_article['art_title']; ?></h1>
                    <img src="<?php echo $inner_article['art_feature_image']; ?>" >
                    <p><?php echo $inner_article['art_create']; ?></p>
                    <p><?php echo html_entity_decode($inner_article['art_content']); ?></p>
                    <p><?php echo $inner_article['art_tags']; ?></p>
            </section>

现在,我的最后一个问题是,这是否是存储页面浏览量的好方法,因为我有一个 txt 文件。如何在一个 txt 文件中存储多个页面浏览量(对于每篇文章)。这就是为什么我认为使用 php cookie 是一条更好的路线。

【问题讨论】:

为什么要同时计算文本文件和数据库中的页面?在将article_id 值插入数据库时​​,您具体遇到了什么问题?此外,您可能想要考虑的不仅仅是在数据库中拥有一个计数器。为什么不为每个页面请求以及时间戳添加一行到数据库,这样您就可以对数据进行更高级的查询(每天的请求,一周中某些天或一天中的几个小时的请求)。这将使您能够看到趋势,而不仅仅是原始数字。 为什么要使用txt文件?您已经与数据库建立了开放连接 - 为什么不使用它呢? 是的,我就是这么想的,但是如果我不先将其存储在文件中,您将如何编写代码来检索页面视图? @tickerll 为什么你认为你需要先将它存储在一个文件中?您可以在该文件中执行哪些在数据库中无法执行的操作? @Mike Brant,我在插入数据库时​​没有任何问题。我遇到的问题是计算每篇文章 index.php?article=# 的页面浏览量。现在,我可以让计数器只在 index.php 上工作,而不是在 index.php?article=# 【参考方案1】:

在 DB 中为您的帖子添加计数字段,并在显示文章时使用计数更新此字段

UPDATE myTable SET Column1=Column1+1

【讨论】:

以上是关于跟踪动态网站上的页面浏览量的主要内容,如果未能解决你的问题,请参考以下文章

dedecms网站 因点击了更新主页HTML-动态浏览,然后就打不开网站首页了,变成了404页面了,怎么办?

浏览器和服务器交互解析

详谈ApacheNginx和tomcat的区别以及处理静态页面和动态页面的方式

浏览器和服务器互动过程解析

Rvest,循环浏览页面上的元素以跟踪每个元素的链接?

如何在网站中动态裁剪/缩放图像