Обработка кода из БД

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

www

Новичок
Обработка кода из БД

Да-да, это извечная и нескончаемая тема шаблонов. Вопрос такой: вывожу код страницы в браузер таким способом:
PHP:
while(list($line_num, $line)=each($obj->page_text)){ 
	echo $line;
где page_text производит чтение файла с шаблоном и подстановку вместо меток {ИМЯ} соответствующих либо результатов выполнения функции, либо чистое значение поля из БД. При этом текст основной страницы лежит в БД. И ессесно код php в основной странице не выполняется. Как сделать так что бы он все таки выполнялся? Т.е. как я понимаю необходимо готовую страницу подсунуть php -интерпретатору, но как? Пока еще есть возможность изменить структуру или принцип работы движка. :confused:
 

www

Новичок
т.е. для eval необходимо полностью вытащить сам php код, или можно всю строку где он д.б. предложить для разбора?
 

SiMM

Новичок
www, дядя пошутил - у него форменный бред.
Если уж и использовать что-то - то [m]stream_wrapper_register[/m]
 

www

Новичок
Автор оригинала: SiMM
www, дядя пошутил - у него форменный бред.
Если уж и использовать что-то - то [m]stream_wrapper_register[/m]
Че то я не понял, это класс чтоли который работает с файлами? судя по описанию

-~{}~ 17.11.05 08:55:

Может перефразировать вопрос? Попробую спросить по другому: как сделать так, чтобы в тексте вставляемом из БД выполнялся php код?
 

Фанат

oncle terrible
Команда форума
подумалось тут, что любители евалить код из базы, при минимальной дырочке в работе с SQL автоматически становятся в коленно-локтевую позицию и кладут рядом баночку вазелина.
 

www

Новичок
А может легче сделать так: сначала в index файле определить значение всех переменных, а потом в нем же сделать require нужного шаблона, а в шаблоне поставить просто
PHP:
<?php echo $varname; ?>
, так получится что полностью вся страница перед выводом пройдет через php интерпретатор и все будет пучком. :) А может минусы какие скрытые есть?
 

www

Новичок
Автор оригинала: Фанат
при чём здесь require если оно у тебя в базе?
Подключается то сам файл с шаблоном, в котором просто стоит в нужных местах вывод значений переменных
 

www

Новичок
блин, че то все равно не катит, не исполняется код который содержится в в тексте страницы из БД :-(
 

Фанат

oncle terrible
Команда форума
во-первых, сделать "в нужных местах" вывод переменных невозможно.
ты не можешь знать, сколько у тебя новостей, к примеру, будет на странице.

во-вторых, если уж делать "вывод нужных", то уж пхп-то код для этого тем более нафиг не нужен - вполне достаточно нбычной замены {VAR}

в-третьих, я так и не понял, откуда здесь реквайр каким боком, если код у тебя в базе
 

www

Новичок
Страница index.php в шапке выполняется обработка всех переданныж переменных get или post, соответственно получаем значения всех переменных,, затем, ниже рекварим файл с выбранным шаблоном а в нем уже прописано куда вывести конкретное значение, вот.

И что означает: "вполне достаточно обычной замены {VAR}"?

Мой первый вариант по всей видимости это и делал? или это НЕобычная замена? и код то из БД все равно не робит

использовал обычную замену
PHP:
$template=str_replace("{TITLE}", $this->page_info['block_title'], $template);
 

www

Новичок
так как сделать так что бы код то на странице выполнялся?

-~{}~ 17.11.05 10:26:

может попробовать буферизацию вывода или это не из этой оперы?

-~{}~ 17.11.05 12:16:

Неужели ни кто не сталкивался с такой проблемой? или просто решения не хотите говорить?
 

eXtreme

Новичок
если я правильно понял суть вопрса, то можно сохранять текст из БД в файл и затем его инклюдить. после чего файл удалять
 

www

Новичок
Автор оригинала: eXtreme
если я правильно понял суть вопрса, то можно сохранять текст из БД в файл и затем его инклюдить. после чего файл удалять
Т.е. хранить 2 копии информации? одна копия в файле, а вторая - в базе?
 

eXtreme

Новичок
из базы сохранять текст во временный файл, чтобы затем сделать инклюд этого временного файла. тогда пхп выполнится
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху