【问题标题】:Unable to use session in Laravel无法在 Laravel 中使用会话
【发布时间】:2016-02-25 21:35:25
【问题描述】:

我只是在 Laravel 5 中创建一个简单的登录页面。 问题:成功登录后,我必须创建一个电子邮件地址会话并移至仪表板。如果未创建会话,则移至登录页面。

这是我的控制器功能代码:

public function admin_auth()
{       
    $matchThese = ['email' => $_POST['email'], 'password' =>     $_POST['password']];
    $login['result'] = DB::table('login_auth')->where($matchThese)->get();

    if($login['result'])
    {
        //session_start();
        date_default_timezone_set('Asia/Kolkata');
        $_SESSION['session_email'] = $_POST['email'];
        Session::put('session_email', $_POST['email']);
            if (Session::has('session_email'))
            {
                 echo 'Done';
            }else echo 'Session Not Created';           


    }else echo 'Email Or Password Not Match';
}    

在上面的函数中,我得到了“完成”。这意味着会话已创建,但是当我在同一控制器的其他方法中检查同一变量时,则未设置会话。

这是我的另一个功能:

   public function dashboard()
    {  
         if (Session::has('session_email'))
                {
                    return view('login.dashboard');
                }else echo 'Session Not Created';    

    }

我总是得到“未创建会话”。

感谢高级方面的帮助。

【问题讨论】:

    标签: session laravel-5


    【解决方案1】:

    假设您使用的是 5.2 版

    您应该在名为web 的middleware 组中包含所有使用会话的路由,该组在Namespace\Http\Kernel 下$middlewareGroups 下定义

    Route::group(['middleware' => ['web']], function () {
    
        // Routes using sessions
    
    });
    

    【讨论】:

    • 是的,我正在使用 Laravel 5。Laravel 框架中的新功能你能告诉我应该在 routes.php 中具体写什么。
    • 只需将您定义的每条路线移动到我上面发布的代码块中
    猜你喜欢
    • 2023-04-04
    • 2018-09-28
    • 1970-01-01
    • 2014-10-27
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 2015-02-23
    相关资源
    最近更新 更多