Как обновить переменную сессии битрикс
Ребята необходима помощь с вопросом сессии. Собственно стоит сам битрикс и Аспро: next. Реализовал простейший вариант выбора города с использованием сессии. Есть поле с названием города:
<div class="city_selector">Город: <?=$city;?></div>
Находится это поле в header.php. Для вывода информации в данное поле я использую следующий код:
<?php
$city = 'Не выбран';
if(isset($_SESSION['city'])){
$city = strip_tags($_SESSION['city']);
}
Так же есть форма выбора города, которая находится в footer.php и выглядит примерно вот так:
<ul class="city-list">
<li class="city-list-item">
<a class="city-list-item-link" data-name="МОСКВА" href="javascript://">МОСКВА</a>
</li>
<li class="city-list-item">
<a class="city-list-item-link" data-name="ЧЕЛЯБИНСК" href="javascript://">ЧЕЛЯБИНСК</a</li>
<li class="city-list-item">
<a class="city-list-item-link" data-name="ОМСК" href="javascript://">ОМСК</a>
</li>
....
</ul>
Для выбора и изменения города я использую следующий код:
$('.city-list-item-link').click(function(){
var city = $(this).html();
//Здесь сразу подставляю значение в другое поле в footer.php
$('.selected-city').html(city);
$.ajax({
type: 'POST',
url: '/ajax.php',
data: {
'method': 'city',
'city': city
},
success: function(data){
window.location.reload();
}
});
});
Ну и сам файл ajax.php:
<?php
session_start();
$city = $_POST['city'];
$_SESSION['city'] = $city;
А проблема заключается вот в чем. Если зайти в административную панель (и быть авторизованным под администратором). То при выборе города все отлично работает, в переменную сессии добавляется город и при обновлении страницы этот город остается. Но если не авторизовываться на сайте (входить в группу "все пользователи") выбор города работает не корректно, например, после выбора города я обновляю страницу или перехожу на другую, город остается тем, что был до этого, а вот если я повторно перезагружу страницу, город поменяется на новый, то есть, чтобы город изменился мне необходимо дважды обновить страницу, хотя если авторизоваться под админом, город меняется сразу. Не могу понять в чем может быть проблема.