Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставка из статического HTML-файла в cgi-скрипте 
:(
    Опции темы
str07
Дата 17.8.2006, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 17.8.2006

Репутация: нет
Всего: нет



Привет всем. Очень надо сделать следующее(знаю точно, что можно, у меня был пример cgi-программы, удалил по ошибке, а вспомнить не могу) :
Есть cgi - скрипт такого типа:

#!/usr/bin/perl -w
use CGI;                            
open(FORM,'form.html');
$q = new CGI;                   
 print $q->header, 
 $q->start_html('hello world'),
 $q->h1('hello world'),
 $q->start_form;
 ...............
 генерация кода формы
.............
 $q->end_form;
 $q->end_html;             

Смысл задачи в том, чтобы не генерить форму здесь, в cgi, а грузить ей из html-файла, который в любое время можно беспрепятственно править независимо от cgi-скрипта, разделяя таким образом дизайн и программную часть. Это можно сделать без всякого применения шаблонов(HTML:Template - это мне не нужно), знаю совершенно точно, потому располагал текстом хорошего рабочего примера, в котором вместо того, чтобы писать что-то вроде
 print textfield('name');
 print checkbox('Not my real name');
грузится кусок html-кода из файла. Это можно также делать не только для форм, но и для header'ов и т.д.
Только вот как это делается, насмерть забыл. Буду очень благодарен за помощь.



Это сообщение отредактировал(а) str07 - 17.8.2006, 14:08
PM MAIL   Вверх
Nab
Дата 17.8.2006, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 582
Регистрация: 25.3.2006
Где: Kiev

Репутация: 8
Всего: 37



Код

#!/usr/bin/perl -w
use CGI;                            
open(FORM,'form.html');
$q = new CGI;                   
 print $q->header, 
 $q->start_html('hello world'),
 $q->h1('hello world'),
 $q->start_form;

 print while (<FORM>);

 print $q->end_form,
     $q->end_html;  


Хотя если выводишь из файла, то и start_form aka <FORM action=" ...." >  и end_form aka </FORM> наверно должны быть в файле...


--------------------
 Чтобы правильно задать вопрос нужно знать больше половины ответа...
Perl Community 
FREESCO in Ukraine 
PM MAIL   Вверх
str07
Дата 17.8.2006, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 17.8.2006

Репутация: нет
Всего: нет



Спасибо, это, конечно, работает, так сказать, в лоб. Хотя я кажется помню ( может и нет такого, и я просто путаю), что был какой-то штатный способ сделать это вызовом методов созданного экземпляра $q->, хотя.....шут его знает, в любом случае большое спасибо!
PM MAIL   Вверх
Nab
Дата 17.8.2006, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 582
Регистрация: 25.3.2006
Где: Kiev

Репутация: 8
Всего: 37



аааа, эт наверно метод save модуля CGI...

ну да, он сограняет форму в файловый дескриптор, но считывается оттуда конструктором new

$q = CGI::new(FORM);
или  при использовании не-объектного интерфейса к модулю
restore_parameters(FORM); 

Я к сожалению ими не пользовался поэтому подробности не опишу smile
В документации это все есть....


--------------------
 Чтобы правильно задать вопрос нужно знать больше половины ответа...
Perl Community 
FREESCO in Ukraine 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0916 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.