тег php

Главные вкладки

Аватар пользователя morgusha morgusha 10 февраля 2014 в 20:49

что может такое быть ???
если в файле tpl.php пишу так вот :

<?php    
    $_SESSION
['test'] = "bbb";
    if (isset(
$_SESSION['bg']))
    {
        if (
$_SESSION['bg_times'] > 2)
        {
            
$_SESSION['bg_times'] = 0;
            
$_SESSION['bg'] = rand(05);
        }
        
$_SESSION['bg_times']++;
    }
    else
    {
        
$_SESSION['bg'] = rand(05);
        
$_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...?>
то блок регион полностью перестаёт отображаться ! ???

Комментарии

Аватар пользователя Inj Inj 10 февраля 2014 в 22:20

<?=$_SESSION['bg'] ?>
как-то непонятно с точки зрения пхп
может <?php print $_SESSION['bg'];

ну и надеюсь див где-то закрывается)

Аватар пользователя Chyvakoff Chyvakoff 11 февраля 2014 в 11:58

"Inj" wrote:
<?=$_SESSION['bg'] ?>
как-то непонятно с точки зрения пхп

Это сокращённая форма записи. если опен шорт тэгс включены - будет работать.
А если в блоке просто print_r($_SESSION); написать - че показывает?

Аватар пользователя Inj Inj 11 февраля 2014 в 12:12

"Chyvakoff" wrote:
Это сокращённая форма записи. если опен шорт тэгс включены - будет работать.

да коротки теги это редко к добру, но ясно. А вот с содержимым-то чего?

"Chyvakoff" wrote:
<?=$_SESSION['bg'] ?>

нет пробела после открывающего тега, к чему-то приравнивается переменная, точки с запятой не наблюдается...

Аватар пользователя mNigma@drupal.org mNigma@drupal.org 11 февраля 2014 в 12:17

"Chyvakoff" wrote:
если опен шорт тэгс включены

"Inj" wrote:
и такой вариант тоже работает

Такой вариант будет работать, но лучше не использовать и прописывать полностью. Мало ли куда, на какой хостинг, сайт попадет. Чтобы потом не материться и не исправлять такие записи.

Аватар пользователя Inj Inj 11 февраля 2014 в 12:32

"<a href="mailto:mNigma@drupal.org">mNigma@drupal.org</a>" wrote:
Такой вариант будет работать

да я не про теги, я про их содержимое.

"morgusha" wrote:
если в строчке код php заменяю тегом как написано в админки тоесть так вот: <?php...?>
то блок регион полностью перестаёт отображаться ! ???

<?php=$_SESSION['bg'] ?>
php равно переменной сессии и нет запятой в конце? В ошибке тоже недобрым словом вспоминается eval() тоесть приравнивание (присвоение), вот только чего к чему неясно

Аватар пользователя mNigma@drupal.org mNigma@drupal.org 11 февраля 2014 в 12:42

"Inj" wrote:
php равно переменной сессии и нет запятой в конце? В ошибке тоже недобрым словом вспоминается eval() тоесть приравнивание (присвоение), вот только чего к чему неясно

<?= - это print. Нет зпт - не критично и ошибки не будет, если сразу стоит "?>" Тут тоже ошибки не будет <?php print $my_string ?>