【问题标题】:how to generate unique session id onload?如何在加载时生成唯一的会话 ID?
【发布时间】:2013-07-07 14:14:04
【问题描述】:

过去,我创建了一个登录系统,其中会话 ID 是在单击提交按钮时创建的。所以我熟悉会话及其用法。但是这一次,我正在做一些不同的事情。

我正在跟踪用户活动并将其显示为图表。问题是,我正在跟踪的网站没有登录系统。 网站上有三个页面,我需要跟踪所有点击的链接和图像,基于此,我将每 30 秒创建一个字符串并将其插入到 db 的表中。同样的方式我将从中取出一些数据每 30 秒创建一个表并通过 ajax 将其发送到 js 页面。 所以,基本上我每 30 秒插入和提取一些数据,并使用这些数据绘制我的图表。(因此,图表将每 30 秒修改一次,并最终给出一个跟踪历史记录。这是由 ajax 完成的)。我在问对于机制,而不是代码。

我的问题:

  1. 如何为不同的用户创建不同的会话 ID (谁不会登录或注册)。我的目标是给每个用户一个 基于他们自己的跟踪历史的图表。我不想混淆 A 与 B 的跟踪历史记录。
  2. 如何每 30 秒将数据从 table 推送到 js 页面?

【问题讨论】:

  • 会话是用户唯一的,除非被劫持。
  • 我现在将我所有的网站用户指标外包给谷歌分析 - 还没有找到更好的方法
  • $_SESSION['username']=username;---->这就是我设置会话变量的方式,如何对 id 做同样的事情,主要关心的是如何让每个图形用户看看他自己的追踪记录?
  • session_id()记录数据,然后用它来确定谁看到了什么
  • onload 我需要使用 session_id() 创建一个 sessionId ..这很好。但我想在第二页和第三页保持相同的 sessionid 以便图形表示不会中断并从它所在的位置继续我想要的是除非选项卡关闭,否则应保持相同的 id,即仅当某些不同的用户访问网站(或关闭浏览器)时才绘制新图形

标签: php ajax session session-cookies sessionid


【解决方案1】:

仅仅因为您的网站没有登录系统并不意味着您仍然无法使用会话。

您的解决方案可能是使用 jQuery 侦听所有点击事件,然后将 push 值添加到值上...然后使用计时器(例如 setInterval)来调用 AJAX 函数并发送 json -编码数据到服务器...从那里解析并记录数据。

【讨论】:

  • 是的。我也在想同样的机制。这就是我想要找到的......$_SESSION['username']=username;---->这就是我设置的方式存在登录时的会话变量,如何对 id 做同样的事情,主要关心的是如何让每个图形用户看到他自己的跟踪历史记录?
  • 您可以将数据推送到会话数组中。例如$_SESSION['username']['trails'][] = "something";
【解决方案2】:

我不知道 sess_id 怎么样,而且我确定,你真的不需要它

我向你推荐这个:

检测每个用户的用户 IP 和用户代理并将其保存到数据库(如果用户未登录和注册)

和(或)

制作饼干

如何每30秒将数据从表格推送到js页面?

嗯……

setTimeOut(function(){},30000);

或者我没有完全理解你的问题

【讨论】:

  • 我认为没有 sessionId 是不可能的...我的问题-->每个用户都应该能够在每 30 秒更新一次的图表上看到自己的跟踪历史记录(网站中没有提供登录系统)
猜你喜欢
  • 2012-06-24
  • 2016-02-12
  • 1970-01-01
  • 2018-05-04
  • 1970-01-01
  • 2012-08-12
  • 1970-01-01
  • 2013-03-24
  • 2017-03-27
相关资源
最近更新 更多