Проблемы с $_SESSION в сниппетах MODX Решено


Обыкновенный счетчик на сессионных переменных

<?php
print_r(isset($_SESSION['12']));
if(!isset($_SESSION['12'])) {
	$_SESSION['12']=0;
}
else {
	$_SESSION['12']++;
}
echo $_SESSION['12'];
Данный код всегда выводит 0
Может я что-то делаю не правильно.
Прошу помощи.
Сниппет вызывается некешируемым.
26 августа 2016, 22:58    Alternative   
0    310 0

Комментарии (2)

  1. Сергей Шлоков 27 августа 2016, 08:34 # +3
    Какой упорный. Вот бы это упорство направить на самостоятельное выяснение.
    Массив $_SESSION особенный. В версиях PHP ниже 5.4 из него могли создаваться переменные (register_globals=on). И тут очень важно знать правила имён переменных.
    В PHP имя переменной всегда начинается со знака доллара ($), за которым обязательно должна следовать буква, после которой можно использовать буквы, цифры и знак подчёркивания.
    А теперь попробуй добавить букву перед '12'.
    Кроме того, в сниппетах MODX не принято писать принты и эхо. Только return.
    1. Alternative 27 августа 2016, 13:49 # +1
      Спасибо, извините, да дурачок.
      Думал об этом, но мне никаких предупреждение не выводило (вывод ошибок и уведомлений был включен)
    Вы должны авторизоваться, чтобы оставлять комментарии.