Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Romani
Зарегистрирован: 15.12.2007 Сообщения: 2
|
Добавлено: Сб Дек 15 2007 16:31 Заголовок сообщения: PERL. Как вывести результат скрипта в SHTML |
|
|
Я пишу на перле сайт... новичок еще...
в Index.shtml Сделал Форму которая передает все значения в Perl файл и там обрабатывается....
После обработки file.pl на экран выводится значение Print.
Подскажите как сделать чтобы на экран выводилась страница со всеми стилями и таблицами как в Index.html но только в ней вместо формы было значение file.perl ????
В file.perl можно написать print "<html> и ..... ";
но у меня очень много тэгов ... чтобы каждому из них в file.pl писать print
Содержимое file.pl
#!/usr/bin/perl
require("cgi-lib.pl");
require("pvd-lib.pl");
print &PrintHeader;
@in=int &getheader();
use DBI;
my $dbh = DBI->connect("DBI:mysql:database=foxel; host=localhost", "root", "", {'RaiseError' => 1});
print "<HTML>";
print "<HEAD></HEAD>";
print "<BODY>";
$fio = $in{"fio"};
$login = $in{"login"};
$pass = $in{"login"};
$email = $in{"login"};
$dbh->do("INSERT INTO data VALUES (NULL, '$fio', '$login', '$pass','$email' )");
print "Регистрация прошла успешно";
print "</BODY></HTML>";
$dbh->disconnect();
мой index.shtml содержит огромное количество тэгов...и это просто смерть если в File.pl придется писать print ////
Может есть какое решение ? |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Alex_soldier
Зарегистрирован: 08.08.2007 Сообщения: 57 Откуда: Россия
|
Добавлено: Пн Дек 17 2007 14:04 Заголовок сообщения: |
|
|
Примитивный вариант:
делаешь вывод скрипта не на экран, а в файл скажем rez.txt.
Затем пересыка на rez.shtml содержащий:
Код: | <!--#include virtual="_top.txt"-->
<!--#include virtual="rez.txt"-->
<!--#include virtual="_bottom.txt"--> |
А вообще в perl должна быть функция - аналог include - подключение другого файла. _________________ Мир Идей |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Romani
Зарегистрирован: 15.12.2007 Сообщения: 2
|
Добавлено: Ср Дек 19 2007 03:13 Заголовок сообщения: |
|
|
Но уменя то грузится file.pl после выполнения скрипта....
А не index.shtml
там функция <!--#exec cgi ="/cgi-bin/file.pl"-->
А как перенаправление сделать? |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Alex_soldier
Зарегистрирован: 08.08.2007 Сообщения: 57 Откуда: Россия
|
Добавлено: Ср Дек 19 2007 12:29 Заголовок сообщения: |
|
|
Навскидку нашел это:
http://www.qaki.ru/help_perl_491.html
К сожалению с Perl слишком мало знаком, но по аналогии с PHP может работать такая вещь:
require "_top.txt"; _________________ Мир Идей |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
C37
Зарегистрирован: 09.03.2005 Сообщения: 311
|
Добавлено: Ср Дек 19 2007 14:28 Заголовок сообщения: |
|
|
<!--#exec cmd="/путь/к/cgi-bin/file.cgi"--> позволяет вставить на место директивы вывод file.pl. В руководстве Apache есть описание проверки условия, напр. <!--#if expr="!${QUERY_STRING}" --> позволит сделать что-то, если не установлена переменная QUERY_STRING, т.е. форма не отсылалась. В таком случае можно использовать <form action="index.shtml">. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
|