【问题标题】:Site tour for first time user for all pages所有页面的第一次用户的站点游览
【发布时间】:2012-12-06 18:09:59
【问题描述】:

识别首次访问网站页面的用户的最佳方法是什么。我写了一个脚本来显示页面的浏览。因为游览应该只显示一次。我需要知道。

例如考虑域 example.com,如果用户第一次登录我需要在“/”页面上显示导览。当用户导航到“/page1”时,我应该显示该页面的导览.当用户返回“/”时,我不应该显示游览。但是当用户转到“/page2”时,我应该在 page2 上显示游览。

我可以通过单个查询找到用户第一次登录的时间。!但我怎样才能为每一页做到这一点。我的想法是每次用户导航时都对数据库进行查询,但我知道这不是最好的方法。

注意:Cookie 可用于跟踪任何内容。

【问题讨论】:

  • 你为什么不使用cookies?
  • 我认为您一直坚持将这些信息保存在数据库中。否则,如果用户从其他计算机登录或清除 cookie,他们将再次获得游览。
  • @RenéWolferink 没错。另一个问题是我必须为每个页面浏览量查询数据库..!!我想我从一个答案中得到了一个想法..!

标签: php javascript jquery


【解决方案1】:

当客户登录时,检查他访问过的页面的cookie。

如果 cookie 为空,请检查数据库并使用客户端已经访问过的页面创建新 cookie

此外,在您检查 cookie 的每个页面上,如果该页面尚未在其中,则显示游览并将其添加到 cookie(和 db)中,否则什么也不做 :)

当然,数据库部分仅适用于注册用户。也不要忘记将用户 ID(或类似的东西)存储到 cookie 中并检查它,这样当其他用户在同一台​​计算机上浏览您的网站时,他仍然会看到游览!

完全不同但可能对您的情况有用的东西是 http://notes.xoxco.com/post/36766728425/aware-js-make-your-site-reader-aware

这是一个 jQuery 插件,可以跟踪您的访问并相应地更改布局(例如,第一次访问者、回访者但今天第一次访问,...)

【讨论】:

  • 如果这不完全清楚,或者遗漏了什么,请不要犹豫
  • 感谢您的帮助.. 我想到了扭转使用 cookie 的想法;) Tour 适用于刚刚登录该网站的用户。因此,默认情况下,当用户刚刚登录时,只需在 cookie 存在时查询数据库,并在 javascript 查看页面后删除 cookie ;)
  • 或者我可以在巡演完成时发送一个 ajax 调用,以在数据库中进行更改,这样会很有意义..
  • 所以你要使用:'no cookie = no tour' 不要忘记 cookie 会被用户和/或某些软件(例如 ccleaner)删除很多,所以你不能依赖那完全
  • 正是..!!旅游只是第一次..第一次用户获取页面cookie存在..在接下来的无限期中,我不需要每个请求的cookie..
【解决方案2】:

一个会话会很好。像这样的:

if($_SESSION['first-time'] == TRUE){
    //Do your thing
    //Then, mark first-time as FALSE in the database.
}

当您创建帐户时(假设您正在这样做),您将其标记为TRUE。在他们第一次登录时,您将其标记为FALSE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 2012-10-10
    • 2014-02-04
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    相关资源
    最近更新 更多