$ _SESSION变量在服务器上超时时如何保存

用户名

我正在研究互联网行为。要求我研究的参与者填写问卷。

  • 他们所不知道的是,该调查表由无数形式的表格组成:
  • 每当他们提交一份表格时,他们就会收到另一份表格。从他们的角度来看,调查问卷永远不会结束。它由包含来自旧研究的数千个随机问题的数组填充。

我想测试一下,不同的用户继续运行了多长时间。

我有两个选择:

  1. 提交每个表单后,将其保存到数据库中。每个连续的表单都UPDATE使用当前页数计数相同的数据记录。这很容易,我知道该怎么做。

  2. 用户执行任务时不会保存任何数据。SESSION当用户放弃任务时(即,当他关闭浏览器窗口时),当前页数从中保存

    我该怎么做呢?当用户关闭浏览器时,如何告诉PHP保存$_SESSION变量?这是否可能以可靠的方式实现,即该解决方案不依赖于并非所有浏览器都可用的功能,例如onbeforeunload(在Opera中不起作用)?

用户名

现在,我的工作session_encode()是在发送每种表单后,将会话的当前状态保存到数据库中在向任何用户显示任何页面之前,请检查是否存在与的会话isset($_SESSION['whatever'])如果没有,我将检查数据库,是否为该用户存储了一个会话(通过登录识别它们,所有这些都在需要注册的站点上进行)。如果存储了会话,则将其从数据库中拖出,然后使用重新处理session_decode()如果没有,我创建一个新的。现在,当浏览器关闭时,用户将返回到最后一页,并预填充了所有(先前页面中的)所有变量,包括当前错误消息(“请选择...”)(如果有的话)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Google OAuth 在本地工作,但在服务器上超时

超时时间已到。在操作完成之前超时时间已过,或者服务器没有响应。”

apt-key添加<文件>; apt-get ...密钥服务器在同一密钥上超时

为什么 NodeJS http 服务器在超时时关闭套接字而没有响应?

无法在超时时间内连接到Zookeeper服务器:10000

TcpInboundGateway服务器配置-超时时将发送自定义消息

操作完成前超时时间已过或服务器未响应。显示包路径

超时时间已到。在操作完成之前超时或服务器没有响应。该语句已终止

执行超时已过期。在操作完成之前超时时间已过或服务器没有响应

使用无服务器Aurora时确定连接超时,以寻找增加超时时间或重试连接的方法

将默认令牌超时时间更改为可在身份服务器 4 中配置而不使用 cookie

Golang服务器超时

Whois 服务器超时

如何增加灯服务器中的phpmyadmin超时?

如何在异步服务器中实现超时?

如何在python Klein中设置服务器超时?

如何解决Flink服务器中的错误“行时时间戳为空”

如何在变量中保存以下查询的值?SQL服务器

如何保持不同会话变量的超时时间不同

如何实现服务器端超时?(对http.Server超时感到困惑)

如何使用ssh将远程服务器变量存储到本地服务器变量?

HTTP服务器HandleFunc循环超时?

LuaSocket服务器:accept()超时(TCP)

在eclipse中增加服务器超时

SSH服务器连接超时

Golang HTTP服务器超时

从服务器加载图像的 Javsascript 超时

Pymongo错误服务器超时

增加繁忙服务器的卷曲超时