我在L5网站上为使用Internet Explorer的用户继续丢失重定向会话数据。
正常重定向时会话数据丢失。我似乎并不孤单(10,000次观看ie9 loses cookies after redirect
)。但即使明确闪现数据也会在重定向时丢失,请参阅代码->with()
的第二个重定向版本。
我已完成基本的功课,并根据Stackoverflow建议添加了P3P作为标题的一部分。
第一个控制器
public function getVerifyClient(){
// If user is an existing client
if(\Auth::check()){
if (\Auth::user()->role == 'Client'){
// dd(Session::get('service')); <-- Selected service part of session
return redirect('order'); <-- Session data lost
return redirect('order')->with('service', Session::get('service'); <-- Session data lost even with explicitly flashed data
}
\Auth::logout(); // Logout employees etc so they do not book in their account
}
...
}
第二个控制器
public function getOrder(){
dd(Session::get('service'));
}
session.php文件
我的session.php设置为正常标准('domain' => null, 'path' => '/'
等),只有'encrypt'
例外设置为true
而不是false
。
答案 0 :(得分:0)
我抛弃了所有功能,最终以一种简单的方式重新声明会话。
如果启用或禁用Cookie,您不必担心。您只需在if else条件下重新声明脚本的一部分(变量 - 您要显示的数据)。只需使用!isset
重新声明相同的内容,然后在if else条件中使用相同的变量重新声明两次,如果您理解我的意思.g
if (!isset etc){A+B} else {A+B}.
它会在刷新,提交或跳转菜单等方面反复回调相同的变量。您不必担心丢失会话或数据。并确保开始会话在页面上方并定义会话,例如
session['id'] on that page which you claim session data missing.
无需担心标题或白线,它实际上与它无关。我已经尝试了一百万次了。你不需要打扰使用ajax等。逻辑很简单。 PHP
几乎可以做任何事情。