RigVan
Постоянный член клуба
Приходится переназначать переменные
Помогите пожалуйста разобраться с выводом переменных.
Имеется следующий код (взят из книги PHP/MySQL для начинающих):
<?
$theStyle = <<<HERE
"border-color:$borderColor;
border-style:$borderStyle;
border-width:$borderSize$sizeType">
HERE;
print "<div style = $theStyle";
print $basicText;
phpinfo(32);
?>
Все переменные были переданы методом POST, из соответствующей формы файла *.html
Их коректность подтверждает и ответ на команду phpinfo(32), (все переменные присутствуют в отчете).
Так вот на одном сервере все выдается как надо (register_globals On).
А на другом (register_globals Off) выдаются ошибки.
Выход нашел в переназначении переменных:
<?
//переназначаю переменные
$color= $_POST['borderColor'];
$style = $_POST['borderStyle'];
$size = $_POST['borderSize'];
$tipe = $_POST['sizeType'];
$theStyle = <<<HERE
"border-color:$color;
border-style:$style;
border-width:$size$tipe">
HERE;
print "<div style = $theStyle";
print $_POST['basicText'];
phpinfo (32);
?>
После этого все заработало.
Вот хочу у Вас спросить: как-то можно обойтись без переназначения переменных? В данной програмке не критично, но хочется понять нет ли более элегантного способа решения данной ситуации. Или единственный способ это переназначение?
Спасибо.
Помогите пожалуйста разобраться с выводом переменных.
Имеется следующий код (взят из книги PHP/MySQL для начинающих):
<?
$theStyle = <<<HERE
"border-color:$borderColor;
border-style:$borderStyle;
border-width:$borderSize$sizeType">
HERE;
print "<div style = $theStyle";
print $basicText;
phpinfo(32);
?>
Все переменные были переданы методом POST, из соответствующей формы файла *.html
Их коректность подтверждает и ответ на команду phpinfo(32), (все переменные присутствуют в отчете).
Так вот на одном сервере все выдается как надо (register_globals On).
А на другом (register_globals Off) выдаются ошибки.
Выход нашел в переназначении переменных:
<?
//переназначаю переменные
$color= $_POST['borderColor'];
$style = $_POST['borderStyle'];
$size = $_POST['borderSize'];
$tipe = $_POST['sizeType'];
$theStyle = <<<HERE
"border-color:$color;
border-style:$style;
border-width:$size$tipe">
HERE;
print "<div style = $theStyle";
print $_POST['basicText'];
phpinfo (32);
?>
После этого все заработало.
Вот хочу у Вас спросить: как-то можно обойтись без переназначения переменных? В данной програмке не критично, но хочется понять нет ли более элегантного способа решения данной ситуации. Или единственный способ это переназначение?
Спасибо.