Сессия Laravel 5.4.3 не работает по новому запросу - PullRequest
0 голосов
/ 06 июля 2018

Я использую функцию jQuery Ajax для проверки пользователя и создания сеанса. В контроллере Laravel у меня есть следующий код.

        if( isset( $_POST['email'] ) )
        {
            $email      = $_POST['email'];
            $password   = $_POST['password'];

            $results =  DB::table('table')->where([
                            ['school_email', '=', $email ],
                            ['school_password', '=', $password],
                        ])->get() ;

            if( $results -> count() ==  0 )
            {
                echo json_encode( array('data' => '0' ) ); exit;
            }
            else
            {
                $user =  $results[0] ;
                session(['users' => $user ]);
                $request    ->  session()   ->  put('two', 'test');
                echo json_encode( array( 'data' => '1' ) );
                exit;
    }

Сессия устанавливается, когда я печатаю ее после установки переменной сеанса. Но когда я обновляю страницу или перенаправляю пользователя на другой URL. сессия идет как пустая переменная. Я использую файловую сессию с настройками по умолчанию и каталог (хранилище) доступен для записи. Я изменил server.php на index.php и скопировал htaccess из общедоступного каталога в корневой каталог, чтобы получить доступ к моему локальному сайту без записи public в URL. например, http://localhost/site2/login, прежде чем это было

http://localhost/site2/public/login

1 Ответ

0 голосов
/ 06 июля 2018

Нам нужно использовать $ request -> session () -> save (); после присвоения значения переменной сеанса. Странно это не было указано где-либо в документе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...