Laravel版本:5.2.45
PHP版本:^ 5.4
我有一个名为f_year
的会话变量。它在会话中存储财务年度。这可以由用户更改。更改f_year
后,会话将重置并重新加载页面。
问题在于,用户在一个选项卡中更改了f_year
,而没有刷新另一个选项卡,而是保存了数据。而且年份不匹配。
是否可以在其他打开的标签上显示警报:您的财政年度已更改。请重新加载页面以继续。
答案 0 :(得分:1)
另一种解决方案: 它将会话与所选年份关联(保存在服务器数据库中并添加到每个页面)。当用户更改年份时,关联的会话将被删除(用户会话的ID已更改)。 由于用户将尝试使用已删除的会话来保存数据,因此您可以回复用户“年份已更改,页面已重新加载。”
在我谈论会话时,它可以是$ _SESSION []中的任何信息。因此,您必须仔细检查服务器中的年份以与每个用户请求中的年份相同。
答案 1 :(得分:1)
好几天,我遇到了类似的问题。我要做的是首先设置cookie和一个会话变量(使用PHP)。然后,我使用JQuery来获取cookie值。 JQuery cookie方法,获取当前cookie集(与浏览器选项卡无关)。
然后,我比较了这两个值,并提醒用户有关设置不匹配的情况。
希望有帮助!
答案 2 :(得分:0)
@ user9141607,您可以将Laravel升级到5.3,并使用Laravel Broadcasting实时更新页面上的信息,而无需刷新。