首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查页面视图是否唯一的简单方法?

问检查页面视图是否唯一的简单方法?
EN

Stack Overflow用户
提问于 2010-01-09 11:03:41
回答 2查看 228关注 0票数 1

嘿,伙计们,我正在为一个客户创建一个小的产品目录。我目前正在尝试弄清楚如何让用户按“受欢迎程度”进行排序。我认为最简单/最简单的方法是在每个产品记录中都有一个"views“字段。

最初,我并没有仔细考虑这一点(嗯),我想当调用检索特定产品的函数时,我会在“视图”计数上加一。当然,这样做的问题是,它没有考虑到有人刷新页面30,000次。

做这件事最好的方法是什么?php有没有任何方法来查看一次访问是否是唯一的?

我正在使用php/codeigniter/mysql/html/css/javascript/jquery.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-09 11:08:15

您可以在会话变量中存储客户端是否已经访问过该页面,并运行相同的视图查询。现在,这不会阻止用户关闭浏览器、重新打开和返回,但它应该提供适当的保护级别。如果这还不够,您可以转到cookies,然后是用户注册或IP跟踪。

好的,会话方法。在你的页面上,你运行:

代码语言:javascript
复制
session_start();
if(!isset($_SESSION['page_views']['some_unique_string'])){
  $_SESSION['page_views']['some_unique_string'] = true;
  // update your database
}

请注意,您需要确保'some_unique_string'对于跟踪视图的页面是唯一的。

对于cookie,这种方法几乎是相同的。

票数 5
EN

Stack Overflow用户

发布于 2010-01-09 11:23:43

如果你想确保页面视图是唯一的,你必须存储所有页面视图的远程IP。确实没有其他可靠的方法来知道访问者是否访问过。将cookie放到他们的系统上以后会失败,原因有很多,他们清除了cookie,他们使用了不同的浏览器,等等。你需要一个视图表格,其中包含一个外键,指向你要统计的任何视图。

你可以在我的免费评级图像脚本中找到所有这类代码:

http://destiney.com/php

下面是一个演示:

http://ratedsite.com/

看看addImageRating.php脚本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2032194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档