Как обновить переменную сессии битрикс

Ребята необходима помощь с вопросом сессии. Собственно стоит сам битрикс и Аспро: 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;

А проблема заключается вот в чем. Если зайти в административную панель (и быть авторизованным под администратором). То при выборе города все отлично работает, в переменную сессии добавляется город и при обновлении страницы этот город остается. Но если не авторизовываться на сайте (входить в группу "все пользователи") выбор города работает не корректно, например, после выбора города я обновляю страницу или перехожу на другую, город остается тем, что был до этого, а вот если я повторно перезагружу страницу, город поменяется на новый, то есть, чтобы город изменился мне необходимо дважды обновить страницу, хотя если авторизоваться под админом, город меняется сразу. Не могу понять в чем может быть проблема.


Ответы (0 шт):