Php 会话上的Laravel弹出窗口

Php 会话上的Laravel弹出窗口,php,session,laravel,Php,Session,Laravel,我在我的laravel 5.0应用程序中发现了一个新的bug。我将弹出窗口硬编码到我的视图文件中,它仅在设置了会话时才会出现。例如: @if (Session::has('global')) POP-UP @endif 在post方法上设置了名为error的会话,如下所示: if (Auth::attempt(['email' => $email, 'password' => $password ], $remember)) re

我在我的laravel 5.0应用程序中发现了一个新的bug。我将弹出窗口硬编码到我的视图文件中,它仅在设置了会话时才会出现。例如:

@if (Session::has('global'))

    POP-UP

@endif
在post方法上设置了名为error的会话,如下所示:

if (Auth::attempt(['email' => $email, 'password' => $password ], $remember))
                    return redirect('/user/user-status');
else 
                    return redirect()->back()->with('global', 'Invalid email or password');
Session::forget('global');
例如:

如果我输入了错误的密码,弹出窗口将显示消息“用户名或密码无效”。如果我输入了正确的密码,应用程序日志就会自动登录。问题是,如果我在登录应用程序后在浏览器中单击“上一步”,应用程序将返回到具有相同弹出窗口的登录页面。据我所知,会话不会重置,这就是弹出窗口出现的原因。你能给我建议什么办法来避免它吗?谢谢

例2:

我写了一篇博文,成功创建新博文后弹出
您的博文已成功创建
。如果我点击exapme Home并在我的浏览器中点击back按钮后,会再次出现相同的弹出窗口(因为上次会话仍处于设置状态)
您的博客帖子已成功创建

请尝试此操作 您必须在成功登录或重定向时刷新会话密钥,如下所示:

if (Auth::attempt(['email' => $email, 'password' => $password ], $remember))
                    return redirect('/user/user-status');
else 
                    return redirect()->back()->with('global', 'Invalid email or password');
Session::forget('global');

我是否在设置会话的控制器方法中执行此操作?当您成功完全登录时。然后在返回浏览器会话后,已删除名为global的flash消息,这意味着在成功登录时不会出现弹出窗口。这是一个解决方案,但在这种情况下,我必须保护所有get路由。我有50个。我想说的是。我没有说你必须删除所有cookie名称,因为你必须保护所有get路由,但事实是,特定命名会话将被破坏。在博客帖子页面上,首先删除会话变量,然后尝试重新利用它。