|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Andrey Sapozhnikov 2:5020/400 04 Mar 2002 23:03:14 To : Dmitry Subject : Re: POST --------------------------------------------------------------------------------
Dmitry wrote:
>
>>Извините за ламеркий вопрос, но всё-таки попрошу ответить. Как передать данные
>>с помощью POST? С ГЕТ все понятно одна переменная отвечает за всё, а тут
>>как-то странно, непонятно. Вот у меня есть форма. Как после передачи
>>параметров записать данные из формы в перменныфе $perv $vtoroy. <form
>>..."post"> <input name=df> ====> $df <input name=df2> ====> $df2
>></form>
>
> Вы наверное имели в виду получение данных из POST? Тогда:
>
> %FORM = &parse_form;
> # Теперь в хэше %FORM есть все переменные из форм.
>
> print $FORM{df};
> print $FORM{df2};
>
> # Универсальная подпрограмма, работающая как с GET, так и с POST.
> sub parse_form {
> my (@pairs, %in);
> my ($buffer, $pair, $name, $value);
>
> if ($ENV{'REQUEST_METHOD'} eq 'GET') {
> @pairs = split(/&/, $ENV{'QUERY_STRING'});
> } elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {
> read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
> @pairs = split(/&/, $buffer);
> } else {
> print ("This script must be called from the Web\nusing either GET or
> POST requests\n\n");
> die;
> }
> PAIR: foreach $pair (@pairs) {
> ($name, $value) = split(/=/, $pair);
> $name =~ tr/+/ /;
> $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
> $value =~ tr/+/ /;
> $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>
> $value =~ s///g;
> if ($value eq "---") { next PAIR; }
> (exists $in{$name}) ?
> ($in{$name} .= "~~$value") :
> ($in{$name} = $value);
> }
> return %in;
> }
>
>
> Дмитрий
> http://ariadnamedia.ru
>
в такие моменты мне кажется, что я прожил свою жизнь зря, и перевоспитать
людей невозможно. Однако еще раз попробую... HЕ ДЕЛАЙТЕ ТАК КАК HАПИСАHО
ВЫШЕ HИКОГДА!
Андрей
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/5284c1ac571b.html, оценка из 5, голосов 10
|