что может такое быть ???
если в файле tpl.php пишу так вот :
<?php
$_SESSION['test'] = "bbb";
if (isset($_SESSION['bg']))
{
if ($_SESSION['bg_times'] > 2)
{
$_SESSION['bg_times'] = 0;
$_SESSION['bg'] = rand(0, 5);
}
$_SESSION['bg_times']++;
}
else
{
$_SESSION['bg'] = rand(0, 5);
$_SESSION['bg_times'] = 1;
}
print_r ($_SESSION);
?>
а в блоке в админки выбираю Php code и пишу так вот:
<div id="under_head" style="background-image:url('/sites/all/themes/metkoteam/img/b<?=$_SESSION['bg'] ?>.jpg');">
то работает но ошибка пишется и фон не загружается с первого раза,а только со второго:
<?phpNotice: Undefined variable: _SESSION в функции eval() (строка 1 в файле /var/www/vhosts/......./modules/php/php.module(80) : eval()'d code).?>
если в строчке код php заменяю тегом как написано в админки тоесть так вот: <?php...?>
то блок регион полностью перестаёт отображаться ! ???
Комментарии
<?=$_SESSION['bg'] ?>
как-то непонятно с точки зрения пхп
может
<?php print $_SESSION['bg'];
ну и надеюсь див где-то закрывается)
Это сокращённая форма записи. если опен шорт тэгс включены - будет работать.
А если в блоке просто print_r($_SESSION); написать - че показывает?
А в каком tpl файле то прописываете? Попробуйте переопределить выводимый блок и в нем пропишите $_SESSION['test'] = "bbb";....
да коротки теги это редко к добру, но ясно. А вот с содержимым-то чего?
нет пробела после открывающего тега, к чему-то приравнивается переменная, точки с запятой не наблюдается...
а может и я нуб, и такой вариант тоже работает. Но я раньше такого не видел)
Такой вариант будет работать, но лучше не использовать и прописывать полностью. Мало ли куда, на какой хостинг, сайт попадет. Чтобы потом не материться и не исправлять такие записи.
да я не про теги, я про их содержимое.
<?php=$_SESSION['bg'] ?>
php равно переменной сессии и нет запятой в конце? В ошибке тоже недобрым словом вспоминается eval() тоесть приравнивание (присвоение), вот только чего к чему неясно
<?= - это print. Нет зпт - не критично и ошибки не будет, если сразу стоит "?>" Тут тоже ошибки не будет <?php print $my_string ?>
во, теперь понял, спс за разъяснения)