有很多线程在讨论如何实现简单的用户反馈/闪信系统向用户反馈信息,如“无效密码”、“设置已保存”、“新线程发布”等。使用起来相当简单
$_SESSION['message'] = "feedback message";
然后在下一个重定向页面上检索该会话密钥。但是,考虑这种情况:用户向 website.com/philosophy 提交了一个新线程,但他未能通过验证码,并且在处理表单后保存
$_SESSION['message'] = "Invalid captcha";
并开始将用户重定向回他试图发帖的 website.com/philosophy。现在,假设服务器或他的连接在此重定向期间稍微滞后,同时用户在另一个浏览器选项卡上打开 website.com/philosophy。现在“无效验证码”将显示在那里,而它应该只显示在进行重定向的选项卡上。
只有当消息与原始重定向页面匹配时,如何才能可靠地显示消息?