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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передача переменных в скрипт из формы 
:(
    Опции темы
motorway
  Дата 3.3.2008, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Простой вопрос по перл.

Есть страница на html с формой:

<form action="1.pl" method="POST">
<input type="text" name="a">
<input type="submit">
</form>

Нужно из нее передать введенный параметр в скрипт на перле, и вывести его.
КАК?

У меня какие-то проблемы с READ (STDIN...) - http headers неправильные.

Плиз, пример скрипта на перле сделайтеsmile 
Нужно ли писать типа print header (...)?

А также как сделать вывод результата команды system не в браузер, а сначала в буфер, чтобы можно было изменить переменную?

Это сообщение отредактировал(а) motorway - 3.3.2008, 00:19
PM MAIL   Вверх
Itsys
Дата 3.3.2008, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

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



см use CGI

Код

  # CGI script that creates a fill-out form
  # and echoes back its values.

  use CGI qw/:standard/;
  print header,
        start_html('A Simple Example'),
        h1('A Simple Example'),
        start_form,
        "What's your name? ",textfield('name'),p,
        "What's the combination?", p,
        checkbox_group(-name=>'words',
                       -values=>['eenie','meenie','minie','moe'],
                       -defaults=>['eenie','minie']), p,
        "What's your favorite color? ",
        popup_menu(-name=>'color',
                   -values=>['red','green','blue','chartreuse']),p,
        submit,
        end_form,
        hr;

   if (param()) {
       my $name      = param('name');
       my $keywords  = join ', ',param('words');
       my $color     = param('color');
       print "Your name is",em(escapeHTML($name)),p,
             "The keywords are: ",em(escapeHTML($keywords)),p,
             "Your favorite color is ",em(escapeHTML($color)),
             hr;
   }


PM MAIL WWW Skype   Вверх
motorway
Дата 4.3.2008, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



спасибо, это работает, но я имел в виду, что передается с отдельной страницы, и считывается из $_POST или $_GET. Как такое сделать?
PM MAIL   Вверх
Itsys
Дата 4.3.2008, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

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



Точно так же:
Код

<form action="1.pl" method="POST">
<input type="text" name="a">
<input type="submit">
</form>


1.pl:
Код

use CGI qw/:standard/;
print param('a');

PM MAIL WWW Skype   Вверх
motorway
Дата 5.3.2008, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



XML Parsing Error: no element found
получилась ошибка
PM MAIL   Вверх
Itsys
Дата 5.3.2008, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

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



 smile Приведи весь код страницы и perl части, без этого не разобраться
PM MAIL WWW Skype   Вверх
motorway
Дата 5.3.2008, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



html страница

<FORM METHOD="GET" ACTION="./cgi-bin/2.pl">
<INPUT TYPE="text" NAME="email"> <INPUT TYPE="submit"> </FORM>

скрипт:
#...
#...

use CGI qw/:standard/;
use strict;

print header,
        start_html('A Simple Example'),
      print param('email');
PM MAIL   Вверх
Itsys
Дата 5.3.2008, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

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



По идее все ок... приведи полный текст ошибки с указанием строки и модуля, и, если это твой модуль, то строку
на которую ругается
PM MAIL WWW Skype   Вверх
motorway
Дата 5.3.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



XML Parsing Error: no element found
Location: http://.../cgi-bin/2.pl
Line Number 6, Column 15:</head><body>1
--------------^
PM MAIL   Вверх
Itsys
Дата 5.3.2008, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

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



 smile 

Я не пользуюсь CGI для вывода HTML,

попробуй проще....
Код

use CGI qw/:standard/;
print "Content-type: text/html\n\n";

print <<"(END)";
<html>
   <head>
      <title>A simple example</title>
   </head>
   <body>
(END)

print "E-mail: " . param('a');
print "</body></html>"


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


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

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


 




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


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

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