Я использую функцию 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