无法在Laravel中使用会话

时间:2016-02-25 10:48:59

标签: session laravel-5

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

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

<xs:element name="docext" minOccurs="1" maxOccurs="1">
  <xs:simpleType>                       
    <xs:restriction base="xs:string">
      <xs:pattern value="((T|t)(I|i)(F|f)(F|f))|((P|p)(D|d)(F|f))" />
    </xs:restriction>
  </xs:simpleType>
</xs:element>
<xs:element name="imagetype" minOccurs="1" maxOccurs="1">
  <xs:simpleType>
    <xs:restriction base="xs:string">
        <xs:enumeration value="N" />
        <xs:enumeration value="I" />
    </xs:restriction>
  </xs:simpleType>
</xs:element>

在上面的函数中,我得到了'Done'。这意味着会话被创建但是当我在同一个控制器的其他方法中检查相同的变量时,会话没有设置。

这是我的另一个功能:

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';
}    

我总是'会话未创建'。

感谢advancd的帮助。

1 个答案:

答案 0 :(得分:0)

假设您使用的是5.2版

您应该在名为web的{​​{3}}群组中使用会话包含所有路由,该群组在Namespace\Http\Kernel下的$middlewareGroups

中定义
Route::group(['middleware' => ['web']], function () {

    // Routes using sessions

});