Я никогда не сталкивался с этим раньше, но по какой-то причине, когда я использую AJAX для установки переменной сеанса, сеанс не будет содержать их.Почему моя сессия не хранит данные?
Вот что у меня есть:
session_start();
if(isset($_POST['selected'])){
$_SESSION['user']['theme'] = array ('selected' => true);
} // This should be now set with the value and it is for a time, but unsets
if(isset($_POST['theme'])){
$_SESSION['user']['theme'] = array('name' => $_POST['theme']);
} // So should this
Что я вижу, когда я делаю print_r под обоими if
конструктов лишь $_SESSION['user']['theme']['name']
вар, а другой не установлен. Если я сделаю print_r только под selected
var, я могу это увидеть просто отлично. Где-то ключ и стоимость исчезают для selected
.
Почему это происходит? Я ожидаю увидеть как name
, так и selected
.
Вы каждый раз переопределяете массив? $ _SESSION ['user'] ['theme'] ['name'] = "whatever"; –
Да, полагаю, я. Как я могу написать это так, что под пользовательской темой у меня есть имя и выбор? – NaN