CAHTA_
|
|
« : 03-03-2007 18:51 » |
|
возникла тут необходимость... подскажите как сделать... нужно чтобы в html-код вставлялся кусок кода, сгенерированный perl-скриптом. т.е. в htlm страничке имеется некая ссылка, которая заменяется сгенерированным кодом при загрузке этой страничке в браузере... ( я так вижу это ) но как сделать это, не знаю. Даже не понимаю, с какой стороны подойти … помогите пожалуйста.
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #1 : 03-03-2007 19:11 » |
|
Попробуй SSI команду virtual. Она используется для вставки в HTML результата работы программы.
Какое отношение вопрос имеет к perl? Если никакое, то завтра перенесу в web.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
CAHTA_
|
|
« Ответ #2 : 03-03-2007 19:22 » |
|
SSI в каком-то смысле не подходит. т.к. на некоторых сервах оно не включено...
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #3 : 03-03-2007 20:15 » |
|
Тогда вызывай не страницу, а скрипт. пусть он считает содержимое страницы и в нужное вместо вставит что надо. Такие вещи именуют шаблонами.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
CAHTA_
|
|
« Ответ #4 : 07-03-2007 22:36 » |
|
мне сказали что можно обратиться к перл-скрипту через яваскрипт. искал сейчас по справочнику, только не нашел ни чего. мжет подскажет ктонить, как это сделать?
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #5 : 07-03-2007 23:23 » |
|
CAHTA_, нечеткое это понятие - "обратиться". Что ты (?) под этим подразумеваешь? Встречал в литературе выражение "передать переменную из PHP в JavaScript" - очень корявое выражение и мне кажется, что речь как раз об этом.
Уточни вопрос! Не скупись на слова: чем ты точнее обрисуешь ситуацию, тем толковее будет ответ.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
CAHTA_
|
|
« Ответ #6 : 07-03-2007 23:28 » |
|
такс. есть HTML страничка. на ней КОД_С_СЫЛКОЙ_НА_СКРИПТ www.ru/ss.pl?f=5 . перл скрипт получает параметр f=5 , обрабатывает и возврашает HTML код. этот код должен встать за место КОДа_С_СЫЛКОЙ_НА_СКРИПТ.... знаю что криво объяснил... нужно чтото типа SSI с его виртуалом....
|
|
|
Записан
|
|
|
|
CAHTA_
|
|
« Ответ #7 : 08-03-2007 00:40 » |
|
По видимому я не точно изложил смою мысль? что-то долго уж ответа нет =(
|
|
|
Записан
|
|
|
|
CAHTA_
|
|
« Ответ #8 : 08-03-2007 00:54 » |
|
проше сказать ... нужно передать параметры перл-скрипту и напечатать результат, который он выдал
|
|
|
Записан
|
|
|
|
CAHTA_
|
|
« Ответ #9 : 08-03-2007 12:41 » |
|
люди, ну помогите же. заказ горит...
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #10 : 08-03-2007 16:08 » |
|
CAHTA_, дык ночь на дворе была - чего э ты хочешь? Т.е. от чего ушли, к тому пришли... Два основных варианта: 1. вставка на сервере. 2. вставка на клиенте. 1. Как уже писал - SSI или шаблон. Страница и скрипт должны быть на одном сервепе. 2. Нужно использовать AJAX или метод с динамически подгружаеммым JavaScript. Почитай это: https://forum.shelek.ru/index.php/topic,8097.0.htmlТак что и где?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
CAHTA_
|
|
« Ответ #11 : 08-03-2007 22:05 » |
|
хм... а что насчет "динамически подгружаеммым JavaScript." . есть ссылки на описание?
SSI вешь хорошая. но вот проблеммы. не на всех сервах она доступна... это и есть очень плохо...
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #12 : 09-03-2007 07:26 » |
|
|
|
« Последнее редактирование: 09-03-2007 07:28 от RXL »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
CAHTA_
|
|
« Ответ #13 : 09-03-2007 11:45 » |
|
о. SSI заработала. вот только возникла проблемма... в HTML код я вставил <!--#include virtual="../cgi-bin/ss.pl"--> при загрузке страничке, на месте вставки, пишется [an error occurred while processing this directive] в логах [Fri Mar 9 14:34:37 2007] [error] [client ***] Invalid URI in request GET / HTTP/1.1 [Fri Mar 9 14:34:37 2007] [error] [client ***] unable to include "../cgi-bin/ss.pl" in parsed file /opt/home/***/***/public_html/index.html
а сам ss.pl #!/usr/bin/perl -wT use strict;
my $link_url = "http://gissom.com/"; my $link_pic = "http://gissom.com/gportal/templates/gissom/img/logo.gif";
print qq(<a href="$link_url"><img src="$link_pic" alt="dd" border=1></a>\r\n\r\n);
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #14 : 09-03-2007 13:45 » |
|
CAHTA_, ты так месяц будешь разбирать задачу, если не начнешь читать документацию.
Директива virtual запускает указанный скрипт также, как если бы к нему обратились снаружи. Если /opt/home/***/***/public_html/ - корень документов, то ниже спуститься ты не сможешь - нельзя тут применять "..". Подробности прочти в мане!
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
CAHTA_
|
|
« Ответ #15 : 09-03-2007 18:27 » |
|
да в том и проблемма. что я читал. при <!--#include virtual="../cgi-bin/ss.pl"--> выдает выше описанную ошибку, а при <!--#include virtual="/cgi-bin/ss.pl"--> ваше ни чего не выводит.
я сюда и пишу, т.к. ни чего понять не могу.
|
|
|
Записан
|
|
|
|
CAHTA_
|
|
« Ответ #16 : 09-03-2007 19:56 » |
|
сорри... сообразил.
|
|
|
Записан
|
|
|
|
CAHTA_
|
|
« Ответ #17 : 09-03-2007 20:37 » |
|
что означает строка в логах? invalid CGI ref "/cgi-bin/b_sys.pl?id=5" in /opt/home/***/***/public_html/index.html в index.html вставленна след строка. <!--#exec cgi="/cgi-bin/b_sys.pl?id=5"-->
в мане было написанно что так можно.
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #18 : 09-03-2007 20:51 » |
|
Учи мат.часть!
Книгу я тебе уже советовал - больше тебе ничего не поможет, кроме свои мозгов.
Надеюсь, ты понял, что от меня советов на "тупые вопросы" больше не будет? Читай доки и думай! Сюда пиши только проблемы. Все, что бы ранее писал, не проблемы, а простая лень (я так это расцениваю).
|
|
« Последнее редактирование: 10-03-2007 14:45 от RXL »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
CAHTA_
|
|
« Ответ #19 : 11-03-2007 14:38 » |
|
вот я понять не могу. можно ли вот такую кулибяку сделать?: <!--#exec cgi=" http://site.ru/cgi-bin/sc.pl"--> если написать <!--#exec cgi="cgi-bin/sc.pl"--> то все норм. но что тогда делать если нужно выполнить и вставить результат скрипта который находится на другом серве?? RXL, ман по SSI читал. там рассматривалось только когда файлы на данном сервере.
|
|
« Последнее редактирование: 11-03-2007 14:54 от CAHTA_ »
|
Записан
|
|
|
|
RXL
|
|
« Ответ #20 : 11-03-2007 18:34 » |
|
CAHTA_, средствами SSI можно подключить только файл на том же сервере, куда был послан запрос пользователем. Если ты внимательно читал бы, то узнал бы, что URL в SSI не включает в себя имя сервера, т.к. он и так известен. Путь может быть относительно директории файла с SSI или относительно корня документов текущего сервера. Путь URL - это не тоже, что путь к файлу: URL сперва подвергается обработке и согласно правилам конфига преобразуется в путь к файлу.
Для включения чужого контента выполни в CGI запрос на тот сервер.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
CAHTA_
|
|
« Ответ #21 : 11-03-2007 19:38 » |
|
спасибо за ответ, а не за рекомендацию прочесть ман! буду делать дальше.
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #22 : 11-03-2007 19:48 » |
|
CAHTA_, маны читать нужно внимательно. К ним тебя пошлют еще не раз. И наверняка не только я.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
|