Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     05 Mar 2002  14:12:12
 To : Nikolay Pichtin
 Subject : Re: POST
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Nikolay Pichtin.
 
 NP>  >>>====> $df <input name=df2>      ====> $df2 </form>
 NP>  >>
 NP>  >> Вы наверное имели в виду получение данных из POST? Тогда:
 NP>  >>
 NP>  >> %FORM = &parse_form;
 NP>  >> # Теперь в хэше %FORM есть все переменные из форм.
 NP>  >>
 NP>  >> print $FORM{df};
 
 NP> [Skip]
 
  AS>> в такие моменты мне кажется, что я прожил свою жизнь зря, и
  AS>> перевоспитать людей невозможно. Однако еще раз попробую... HЕ ДЕЛАЙТЕ
  AS>> ТАК КАК HАПИСАHО ВЫШЕ HИКОГДА!
 
 NP> Хотелось бы услышать аргумментированный ответ - ПОЧЕМУ?
 NP> Такая конструкция используется в очень многих
 NP> скриптах.
 
 И этими скриптами пользоваться тоже, как правило, не надо. Потому как это, как
 правило, далеко не единственная кривизна в них. Бывают исключения, но крайне
 редко и под конкретную задачу, то есть не reusable. Я вообще встречал cgi на
 C, который умел только GET (в смысле только разобрать переменную окружения
 QUERY_STRING). Hу так у него были высокие требования к производительности и
 очень простая обработка входной информации.
 
 NP> Кроме того, если заглянуть внутрь CGI.pm,
 NP> то увидим аналогичный подход:
 
 NP> sub parse_params {
 NP>     my($self,$tosplit) = @_;
 NP>     my(@pairs) = split(/[&;]/,$tosplit);
 NP>     my($param,$value);
 NP>     foreach (@pairs) {
 NP>  ($param,$value) = split('=',$_,2);
 NP>  $param = unescape($param);
 NP>  $value = unescape($value);
 NP>  $self->add_parameter($param);
 NP>  push (@{$self->{$param}},$value);
 NP>     }
 NP> }
 
 NP> # unescape URL-encoded data
 NP> sub unescape {
 NP>   shift() if ref($_[0]) || (defined $_[1] && $_[0] eq $DefaultClass);
 NP>   my $todecode = shift;
 NP>   return undef unless defined($todecode);
 NP>   $todecode =~ tr/+/ /;       # pluses become spaces
 NP>     if ($EBCDIC) {
 NP>       $todecode =~ s/%([0-9a-fA-F]{2})/pack("c",$A2E[hex($1)])/ge;
 NP>     } else {
 NP>       $todecode =~ s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge;
 NP>     }
 NP>   return $todecode;
 NP> }
 
 NP> sub add_parameter {
 NP>     my($self,$param)=@_;
 NP>     push (@{$self->{'.parameters'}},$param)
 NP>  unless defined($self->{$param});
 NP> }
 
 Потому что в CGI.pm это не единственное место в коде, которое отвечает за
 разбор пришедшей формы. И оно там по делу не единственное.
 
 -- 
 Artem Chuprina
 Communiware.net
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 POST   Sergey Yurevich   03 Mar 2002 22:53:45 
 Re: POST   Dmitry   04 Mar 2002 21:55:11 
 Re: POST   Alexey Pchelnikov   04 Mar 2002 23:01:09 
 Re: POST   Victor Wagner   04 Mar 2002 23:23:45 
 Re: POST   Andrey Sapozhnikov   04 Mar 2002 23:03:14 
 POST   Ruslan Bondarev   05 Mar 2002 00:50:02 
 POST   Alexey Gradovtsev   05 Mar 2002 22:39:44 
 Re[2]: POST   Vlad   05 Mar 2002 02:35:08 
 Re: POST   Dmitry   05 Mar 2002 10:42:07 
 Re: POST   Artem Chuprina   05 Mar 2002 14:41:06 
 Re: POST   Dmitry   05 Mar 2002 18:02:48 
 POST   Andrey N. Demushkin   07 Mar 2002 01:44:16 
 Re: POST   Andrey Sapozhnikov   05 Mar 2002 18:15:10 
 Re: POST   Victor Wagner   05 Mar 2002 22:30:09 
 Re: POST   Andrey Sapozhnikov   06 Mar 2002 02:57:29 
 Re^2: POST   Victor Mironov   03 Apr 2002 12:47:39 
 Re: Re^2: POST   Konstantin Tokar   03 Apr 2002 21:45:33 
 Re: Re^2: POST   Artem Chuprina   04 Apr 2002 11:55:32 
 Hедопонимание   Igor Gerdler   04 Apr 2002 12:05:49 
 Re: Hедопонимание   Artem Chuprina   04 Apr 2002 12:47:41 
 Просьба   Igor Gerdler   04 Apr 2002 13:00:16 
 Отмена просьбы   Igor Gerdler   04 Apr 2002 13:14:49 
 Re: Просьба   Artem Chuprina   04 Apr 2002 14:25:17 
 Очередной вопрос   Igor Gerdler   04 Apr 2002 19:26:51 
 Re: Очередной вопрос   Victor Wagner   04 Apr 2002 19:43:21 
 Продолжаю спрашивать...   Igor Gerdler   04 Apr 2002 20:10:08 
 Re: Продолжаю спрашивать...   Artem Chuprina   05 Apr 2002 12:20:41 
 Re: POST   Vladimir Podgorny   04 Apr 2002 10:11:52 
 Использование прототипов функций   Igor Gerdler   04 Apr 2002 11:20:12 
 Re: POST   Artem Chuprina   04 Apr 2002 12:05:50 
 Re: POST   Nikolay Pichtin   04 Apr 2002 19:52:21 
 Re: POST   Vladimir Podgorny   05 Apr 2002 10:18:58 
 Re: POST   Nikolay Pichtin   05 Mar 2002 11:12:02 
 Re: POST   Artem Chuprina   05 Mar 2002 14:12:12 
 Re: POST   Alexey Pchelnikov   04 Mar 2002 22:36:26 
Архивное /ru.cgi.perl/6359e15081e8.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional