我正在研究互联网行为。要求我研究的参与者填写问卷。
我想测试一下,不同的用户继续运行了多长时间。
我有两个选择:
提交每个表单后,将其保存到数据库中。每个连续的表单都UPDATE
使用当前页数计数相同的数据记录。这很容易,我知道该怎么做。
用户执行任务时不会保存任何数据。SESSION
当用户放弃任务时(即,当他关闭浏览器窗口时),当前页数从中保存。
我该怎么做呢?当用户关闭浏览器时,如何告诉PHP保存$_SESSION
变量?这是否可能以可靠的方式实现,即该解决方案不依赖于并非所有浏览器都可用的功能,例如onbeforeunload
(在Opera中不起作用)?
现在,我的工作session_encode()
是在发送每种表单后,将会话的当前状态保存到数据库中。在向任何用户显示任何页面之前,请检查是否存在与的会话isset($_SESSION['whatever'])
。如果没有,我将检查数据库,是否为该用户存储了一个会话(通过登录识别它们,所有这些都在需要注册的站点上进行)。如果存储了会话,则将其从数据库中拖出,然后使用重新处理session_decode()
。如果没有,我创建一个新的。现在,当浏览器关闭时,用户将返回到最后一页,并预填充了所有(先前页面中的)所有变量,包括当前错误消息(“请选择...”)(如果有的话)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句