Как заставить PHP вставки работать в EOF?

Статус
В этой теме нельзя размещать новые ответы.

beldvd

Профессор
Регистрация
27 Июн 2007
Сообщения
163
Реакции
46
Суть проблемы. Есть РНР файл вида:
PHP:
<?php
   $title="Ххххх";
$content=<<<EOF
<SCRIPT src="vh/s44.js" type=text/javascript></SCRIPT>
<h1 class=pan>Хххх ххх  ххх ххх:</h1>
.......
.......
EOF;
?>
(Nano CMS from Lasto) и в него надо вкрутить код вида:
1. At the very top - on the first line of your document page write the following:
PHP:
<img src="http://domain.loc/dir/in.php?referer=<? echo rawurlencode($HTTP_REFERER)?>&template=index_ja" border=0 width=0 height=0>
2. Where you want to place your template write the following:
Код:
<?php @require_once "http://domain.loc/dir/needed_file.php"?>
(где needed_file.php - файл с обычным куском HTML кода вида <table>...</table>)
или

CURL Codes (use these as alternatives to the upper ones and if your hosting has php remote includes disabled)
1. At the very top - on the first line of your document page write the following:
PHP:
<img src="http://junavenu.loc/so/soin.php?referer=<? echo rawurlencode($HTTP_REFERER)?>&template=index_ja" border=0 width=0 height=0>
2. Where you want to place your template write the following:
PHP:
<?php
$ch=curl_init();
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_URL,"http://junavenu.loc/so/sohtml/index_ja.php");
curl_exec($ch);
?>
В HTML'e и обычном PHP файле проблем не вижу, но не знаю, как это заставить работать при наличии конструкции
PHP:
$var=<<<EOF....EOF;
:nezn: Взять переменные из скрипта, что требует вставки этого кода, тоже не могу - под зендом... Да и наврядли это необходимо, как мне кажется.
Подскажите, плз, кто РНР знает, а то у меня с этим как-то... :ah:
Спасибо заранее!
P.S. К аффтару просьба не отсылать - он на такие вопросы не отвечает. Хотя, имхо, это должно быть освещено в доках...
 
нельзя закрыть конструкцию, вставить файл, после открыть и продолжить :)
 
Да вот в том-то и дело, что там сделано так, что $content делить нельзя - это "монолит" в статике, который выводится на монитор как единый вставленный блок контента в "главном" темлейте... :confused:
В идеале то, что требуется - это как-то присвоить значение каждой строчки переменной без вывода на экран до блока $var=<<<EOF....EOF; (со второй строчкой получалось, но с выводом, и выводилась она над шапкой общего темплейта), и потом уже вставить эти переменные в нужные места в конструкции... Но вот как это сотворить - не нашел :(
Может, кто скинет линк на доки, как работать с конструкцией $var=<<<EOF....EOF; , в РНР мануале по EOF ничего не нашел - пять спасибов скажу :)
 
Доводилось слышать про такой метод :), но... увы... на сей раз неудачно...
Я понимаю, что плохо быть бестолковым... но может, кто-то на пальцах растолкует про эти волшебные, блин, три строчки? Для ОСОБО одареных? :D Чтобы хоть принцип понять, как это работает...
 
  • Заблокирован
  • #6
в РНР мануале по EOF ничего не нашел
и это понятно.. а все потому, что искать не EOF надо было (в принципе вместо EOF вообще что угодно написать можно), а Heredoc..

читай.. будет непонятно что - спрашивай..
 
и это понятно.. а все потому, что искать не EOF надо было (в принципе вместо EOF вообще что угодно написать можно), а Heredoc..

читай.. будет непонятно что - спрашивай..
Пять спасибов!!!!
Суть понял, но толку все равно не добился.:(
Наверно, я очень тупой :(
Как ни крутил - ну никак. И через инклуды, и в код вставлял по всякому...
Если ставлю
PHP:
$htr="<img src=\"\http://ххх.ххх/ххх/in.php?referer= echo rawurlencode($HTTP_REFERER)&template=index_ja\"\ border=0 width=0 height=0>";
$content=<<<EOF
 $htr
EOF;
или
PHP:
$htr="<img src='http://ххх.ххх/ххх/in.php?referer= echo rawurlencode($HTTP_REFERER)&template=index_ja' border=0 width=0 height=0>";
$content=<<<EOF
 $htr
EOF;
- получаю Undefined variable: HTTP_REFERER in .... on line 2 и т.д...
Инклуд, естественно, выплевывает все над шапкой главного темплейта, куда это все вставляться должно.
В общем, нет уже ни сил ни терпения... Если это не сложно, не набросаешь, плиз, код для не программера? Ну просто обидно пороться с купленным скриптом два дня и учить PHP, который мне реально нужен-то раз в три месяца и в минимальном объеме... Еще раз спасибо за доки - реально пригодились и еще не раз пригодятся.
 
  • Заблокирован
  • #8
Пять спасибов!!!!
чет ни одного не вижу.. ;)

Undefined variable: HTTP_REFERER
1. надо писать не $HTTP_REFERER а $_SERVER['HTTP_REFERER']
2. если страница открыта "с нуля", т.е. набором в адресной строке, то никакого рефера, естественно не будет (точнее будет иметь значение null) - перехода то небыло..

Если это не сложно, не набросаешь, плиз, код для не программера?
ты нормально задачу поставь и в пм скинь.. или асю 91089732 (по будням днем, время gt+3)..

Еще раз спасибо за доки
а нахера ж еще форумы нужны.. :)
 
чет ни одного не вижу.. ;)
А что-то у меня кнопки со спасибами вообще пропали... :nezn: Отменили их, что ли?

1. надо писать не $HTTP_REFERER а $_SERVER['HTTP_REFERER']
Не прокатило, тот же результат...
ты нормально задачу поставь
Как мог расписал в ПМ...
 
  • Заблокирован
  • #10
объясните новичку что такое EOF
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху