Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Переписываем старый шаблонизатор [2]
Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009 Откуда: Пермь
Помог: 0 раз(а)
JustUserR, немогли бы вы попонятнее объяснить как исправить, тот случай когда подключаеш ***.php файл и скрипт не выполняется, а на экран выходит "1".
Спасибо.
JustUserR
Отправлено: 20 Апреля, 2010 - 13:34:49
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Платинум пишет:
JustUserR, немогли бы вы попонятнее объяснить как исправить, тот случай когда подключаеш ***.php файл и скрипт не выполняется, а на экран выходит "1". Спасибо.
Дело в том что функция include в случае успешного подключения указанного файла возвращает значение истины - однако в случае попытки сделать echo include(somefile) это значение приводится к строке и показывается единица
Что касается того вопроса почему не выполняется подключаемый файл Во-первых содержит ли он какой-то исполняемый код вне функций - если не содержит то очевидно что выполнение будет происходить только при вывозе определенной функци Если же содержит то ситуация не лучше - ведь подключаемый исполняемый код не контролируется вашим PHP-скриптом - и если вы например включили буферизацию то подключаемый PHP-скрипт может с таким же успехом ее выключить По этой причине лучше подключать только PHP-библиотеки или если хочется подключать обычный PHP-скрипт то парсить его на согласнованность с текущим - как пример использовать его как шаблон
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Платинум
Отправлено: 20 Апреля, 2010 - 14:03:17
Частый гость
Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009 Откуда: Пермь
Помог: 0 раз(а)
JustUserR пишет:
если хочется подключать обычный PHP-скрипт то парсить его на согласнованность с текущим - как пример использовать его как шаблон
а можно какой нибудь пример привести, а то моему уму не особо понятно.
JustUserR
Отправлено: 20 Апреля, 2010 - 14:13:05
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Платинум пишет:
А можно какой нибудь пример привести, а то моему уму не особо понятно.
Пример здесь достаточно сложный но я попробую объяснить более конкретно Например у вас имеется подключаемый PHP-скрипт в котором находится вывод определенного дизайна страницы - если вся архитектура продумана хорошо то PHP-скрипт который обрабатывает данные из БД и тот который генерирует дизайн работают согласованно и не мешают друг другу Если же например генератор дизайна написан еще кем-то и не согласован с вашим PHP-скриптом по обработке данных то можно сделать так - вы открываете файл генератора дизайна и в нем осуществяете все подствонвки переменных с экранированием и сохраняете его во временный файл .php - после чего фактчески останавливаете свой PHP-скрипт и подкючаете PHP-скрипт с дизайном который уже делает весь вывод
Если же пробовать подключать несогласованный PHP-скрипт просто так без обработки то может ничего и не вывестись - даже если рассичтывать на то что все данные с подключаемого PHP-скрипта будут буферизированы В таком случае уж лучше обратиться к нему через /usr/bin/links к примеру и получить результаты его работы - или обмениваться даннми через текстовый файл
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
chuikoff
Отправлено: 11 Мая, 2010 - 05:55:57
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Апр. 2010 Откуда: Kamchatka
Помог: 0 раз(а)
Люди, я готов заплатить 250 максимум 300 рублей, за эту небольшую работу - дописать функцию в этом шаблонизаторе, что бы можно было подключать пхп-файлы в шаблон.
Кого интересует, ищите контакт со мной, в моём блоге chuikoff.ru
Спасибо!
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
chuikoff пишет:
Дописать функцию в этом шаблонизаторе, что бы можно было подключать пхп-файлы в шаблон
А в чем у вас проблема ведь в этой теме достаточно хорошо освещен вопрос подключения PHP-скриптов - только вам надо определиться со способом их включения поскольку ключение произвольного PHP-кода без предварительного согласования малоэффективно - и даже если вы заранее включите буферизацию то включамемый PHP-скрипт сможет ее без труда выполнить
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
chuikoff
Отправлено: 14 Июня, 2010 - 01:29:01
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Апр. 2010 Откуда: Kamchatka
Помог: 0 раз(а)
Я вчера нашёл на руселлере интересный вариант кода, но его нужно тоже переписать.
Вот исходник:
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
chuikoff пишет:
Вот переписанный исходник
Как минимум недостаток данного PHP-скрипта заключается в том что принимаемый PHP-код для выполнения не проходит никакой предваритальной проверки и фильтрации - это значит что он может содержать синтаксическую ошибку или к примеру может перехватить управление и выключить буферизацию
Что касается конкретно вашего случая то видно что PHP-код исполняется только внутри тега [РНР] - поэтому вам нужно заключить значение строки $rating в соответствующие теги
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.