Не могу понять почему у меня не живет $_SESSION
Проверял через isset($_SESSION), ответ false
session_start(); в начале документа index.php есть
в index.php вызывается js функция
function auth()
{
let auth_login = document.getElementById('login_auth').value;
let auth_pass = document.getElementById('pass_auth').value;
$.ajax(
{
type: "POST",
url:'auth.php',
data: { auth_login: auth_login,
auth_pass: auth_pass},
success: function(result)
{
switch(result) {
case 'empty': {
alert("Ошибка входа!\nЗаполните все поля!");
break;
}
case 'invalid': {
alert("Ошибка входа!\nНеверный логин или пароль.");
break;
}
default: {
alert("Удачно!");
document.getElementById('authbtn').style.visibility = 'hidden';
document.getElementById('auth').style.visibility = 'hidden';
document.getElementById("authDel").remove();
document.getElementById("regDel").remove();
var div = document.createElement("div");
div.innerHTML = '<div class="header-right" onClick="exitClick()"><h2 class="a-animated a-psevdo">Выход (' + result + ')</h2></div><div class="header-right" onClick="cartClick()"><h2 class="a-animated a-psevdo">Корзина</h2></div>';
document.getElementById("nav").appendChild(div);
break;
}
}
}
});
}
Вот так выглядит auth.php
<?
session_start();
if(empty($_POST['auth_login']) || empty($_POST['auth_pass'])) {
echo "empty";
} else {
$login = $_POST['auth_login'];
$pass = $_POST['auth_pass'];
$req = "";
require_once 'funct.php';
$users = getUsers();
foreach ($users['users'] as $user) {
if ($login == $user['login'] || $login == $user['mail']) {
if(password_verify($pass, $user['password'])) {
$_SESSION['user'] = $user;
$req = $user['login'];
}
}
}
if ($req != "") {
echo $req;
} else {
echo "invalid";
}
}
?>
В общем сейчас ситуация такая, сделал присвоение конкретно логина пользователя $_SESSION['user'] = $user['login']; при исполнении ajax
на странице с index.php сразу после ajax он не видит $_SESSION
Потом я перезагружаю страницу один раз, var_dump($_SESSION); выдает это
array(1) {
["user"]=>
string(5) "lemon"
}
После еще одной перезагрузки он выдает это
array(0) {
}