2015-04-16 142 views
0

我在我的L5网站上使用Internet Explorer的用户在重定向时保持会话数据丢失。重定向会话丢失(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

我扔掉了所有的功能,并最终以一种简单的方式重新宣布会话。

如果cookie启用或禁用,则不必担心。您只需在if else条件中重新声明部分脚本(变量 - 您想要显示的数据)。只需重新声明使用!isset,然后用中的if else条件中提到两次相同的变量一样,如果你明白我mean.eg

if (!isset etc){A+B} else {A+B}. 

它会一遍又一遍地打电话相同的变量同样的事情要么刷新,提交或跳转菜单等,你不必担心失去会议或数据。并确保启动会话页面上方和定义会话e.g

session['id'] on that page which you claim session data missing. 

没有必要担心标题或白线,它实际上没有任何关系吧。我已经尝试了一百万次。你不需要打扰使用Ajax等。逻辑很简单。 PHP几乎可以做任何事情。