【发布时间】:2015-11-20 01:53:11
【问题描述】:
我环顾四周并没有找到类似问题的运气。如果有的话,请链接可能的重复项,以前帖子的建议会有所帮助。
场景:
当用户打开create.php 页面时,我将$_SESSION['id'] 设置为该页面上的ID。如果用户刷新浏览器,则可以获取内容。它工作得很好,因为在更新时所有内容都链接到 sql 数据库。
当同一个用户点击另一个create.php 页面,同时初始create.php 已经打开时,就会出现问题。然后将 $_SESSION['id'] 设置为 NEWER 页面。刷新 OLDER 页面时,由于在最新操作上设置了 $_SESSION['id'] 变量,它将重新加载为在 NEWER 页面上看到的页面。
我该如何解决这个问题? 使用您建议的方法有什么潜在的问题吗?
请提供一些意见!
编辑:如果被否决,请告诉我如何调整问题,使其更清楚。
编辑:将$_SESSION['create'] 更改为$_SESSION['id'] 以更好地反映问题
【问题讨论】:
-
您不能对不同的值使用相同的会话名称。它将用最新的值覆盖
-
当用户加载新页面时你希望发生什么?也许尝试做一些Rubber Duck Debugging 可能会有所帮助。
-
当用户加载新页面时,它应该是这样的,所有字段都是空白的。仅当用户打开两个相同页面时才会出现问题。即 Stackoverflow 提出一个问题,您打开另一个问题并对其进行编辑,旧问题在刷新时丢失
-
您是否有理由需要在会话中保存任何内容?为什么不将查询中的参数发送到 create.php?像
create.php?id=5并使用id来显示正确的数据而不是会话值 -
我认为我不应该发布这个问题.. 有人对所有事情投反对票。我考虑过使用 '?id=5' 但用户不会有无缝体验,并且用户在编程时更改该 id 需要在后端添加额外的逻辑......如果这是唯一的方法,那么我想我可以去那条路线。感谢您的反馈。 @binnyb