| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > CGI скрипт с применением SSI |
| Автор: MacTep 12.12.2006, 09:31 | ||
Нужно написать CGI скрипт, который бы выводил время при помощи технологии SSI. Вот мой код, но он не работает. Подскажите, что не так?
|
| Автор: Ramirez 12.12.2006, 10:18 | ||||
| ээээ.... судя по вашему коду вы пытаетесь сделать все наоборот... как это обычно работает: у вас есть html документ с расширением .shtml (обычно), типа:
и есть скрипт date.pl:
|
| Автор: MacTep 12.12.2006, 10:57 |
| А такой конструкцией я разве пользоваться не могу? <!--echo var="DATE_LOCAL"--> Или только в html документах? А в самом скрипте не получится? |
| Автор: MaxPayne 12.12.2006, 17:06 | ||
| 1) Ты определись что тебе надо - или дата созданий документа или текущее время. 2) Если текущее время, то: - на странице вставляешь такую конструкцию: <!--#include virtual="/cgi-bin/jd.cgi"--> - сам скрипт jd.cgi выглядит так:
Он должен выводить типа "22:00:25". Можете естественно сделать любое размещение инфы. 3) Вот эта конструкция вроде для PHP скриптов <!--echo var="DATE_LOCAL"-->. |
| Автор: Ramirez 13.12.2006, 10:06 | ||||||||
| MaxPayne, не путайте человека. эта конструкция <!--echo var="DATE_LOCAL"--> для тех случаев когда вы в один файл инклудите другой, и надо передать в него какие-то переменные, например есть шапка header.shtml:
и есть, например index.shtml
так вот, когда вы браузером запросите index.shtml, веб сервер включит в него код из файла header.shtml но сналала он возьмет переменную PAGE_TITLE (обозначенную в index.shtml) <!--#set var="PAGE_TITLE" value="ЭТО ЗАГОЛОВОК СТРАНИЦЫ" --> и вставит ее значение в соотв. место в header.shtml Кстати, конструкция <!--#echo var="DATE_LOCAL" --> выведет текущую дату автоматически без каких либо дополнительных скриптов (если конечно переменную DATE_LOCAL не переопределить), т.к. DATE_LOCAL - это одна из встроенных переменных ssi. SSI очень удобен например, для вывода повторяющихся элементов кода (ленты новостей например) шаблон новости один, а на странице новостей вы пишете что-то типа:
т.е. перед каждым включением шаблона news_item.shtml задаются необходимые ему переменные. MacTep, теоретически, вы может и сможете можете настроить апач таким образом чтобы вывод скрипта потом еще обрабатывался через ssi (не факт конечно, не проверял) и тогда вы сможете использовать в выводе скрипта конструкции типа <!--#echo var="PAGE_TITLE" --> но это будет МЕГА ИЗВРАТ. Зачем тогда перл вообще? Эти переменные предназначены для случая когда вы работаете со статичными шаблонами. Вообще, много того, что делается чаще скриптами, для мелких проектов, можно сделать с помощью ssi. Там даже простейшая логика есть:
а вообще, http://httpd.apache.org/docs/2.0/howto/ssi.html |
| Автор: korob2001 13.12.2006, 10:54 | ||
Не пойму одного, зачем здесь вообще нужен SSI?
Если же нам нужно какое-нить другое значение, его с таким же успехом можно присвоить переменной и генерировать не тег SSI, а конкретное значение. Ведь страница HTML генерируется программой Perl от начала до конца. |
| Автор: MacTep 14.12.2006, 11:30 |
| Спасибо всем за ответы. |