2016-02-25 7 views
0

Я просто создаю простую страницу входа в Laravel 5. Проблема: после успешного входа мне нужно создать сеанс адреса электронной почты и перейти на панель мониторинга. Если сеанс не создан, перейдите на страницу входа.Невозможно использовать сеанс в Laravel

Вот моя функция контроллера код:

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

В функции выше меня «Done'.It означает, создается сеанс, но когда я проверяю ту же переменную в другой метод того же контроллера, то сессия не задано.

Вот моя другая функция:

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

    } 

Я всегда получал 'Сессия не Created'.

Спасибо за помощь в advancd.

ответ

0

Предполагая, что вы используете версию 5.2

Вы должны включать в себя все маршруты с помощью сеансов в middleware группу под названием web, которая определена в Namespace\Http\Kernel под $middlewareGroups

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

    // Routes using sessions 

}); 
+0

Да я использую Laravel 5. Новое в Laravel framework может у PLZ сказать мне, что именно я должен писать в routes.php. –

+0

Просто переместите каждый маршрут, который вы определили, в блок кода, который я разместил выше – chanafdo

+0

Превосходное спасибо –

Смежные вопросы