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

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

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

Комментарии: 2

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