muziyue
V2EX  ›  PHP

请教一个 laravel 的 session 和跳转一起使用的问题

  •  
  •   muziyue · Dec 30, 2016 · 3775 views
    This topic created in 3433 days ago, the information mentioned may be changed or developed.

    我在 callback 页面存了 session ,之后跳转到了首页

    $request->session()->put('wechat_user', $user->toArray());
    return redirect('web/home.html');
    

    另一页面

    $request->session()->get('wechat_user', false)
    

    值是 false ,如果注释掉跳转,第二页就可以正常获取到用户信息, session 驱动是 file ,是因为 session 存储完毕之前就跳转的原因么?

    4 replies    2017-01-23 15:25:47 +08:00
    ss098
        1
    ss098  
       Dec 30, 2016 via Android   ❤️ 1
    是的,使用 Redirect 会导致无法存储会话,以前让我纠结了半天。
    jellybool
        2
    jellybool  
       Dec 31, 2016
    > 使用 Redirect 会导致无法存储会话

    从我的记忆来看,这个应该是错的。 redirect 跟 session 应该没有什么关系。这样使用出错基本上就是哪里不对吧,以下代码亲测可用:

    ```php
    session()->put('laravist','laravist.com'); // 广告, laravist.com 是一个学习 laravel 的好地方

    return redirect('/session');


    Route::get('session',function (){
    return session()->get('laravist');
    });

    ```
    cloudyplain
        3
    cloudyplain  
       Dec 31, 2016 via iPhone
    手动 save 下
    zlink
        4
    zlink  
       Jan 23, 2017
    @jellybool 同样的问题,跳转至后 session 失效,在返回数据的 header 中根本就没有 set-cookie
    问题直接导致了无法登陆。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1003 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 19:00 · PVG 03:00 · LAX 12:00 · JFK 15:00
    ♥ Do have faith in what you're doing.