![]() |
|
||||||||||
|
|||||
|
Скажите pls, возможно ли передавать данные из формы в Perl скрипт двумя методами одновременно, я имею в виду вот что:
<form action="script.cgi?m=read&t=y" method="post"> <input type="text" name="txt"> <input type="submit" name="xxx"> </form> ![]() |
|
|||||
|
Guest
Сообщений: n/a
|
Естественно можно.
А в чём собственно проблема то? |
|
|||||
|
У меня почему-то глючит. Те каторые GET принимаются param('...'), а POST таким же образом нет.
|
|
|||||
|
Guest
Сообщений: n/a
|
Вопрос по передаче данных здесь уже много раз обсуждался.
Я обычно, в таких случаях как у тебя, пользуюсь следующим кодом: %param = &comming();
sub comming {
my $dl = $ENV{CONTENT_LENGTH};
my $query = $ENV{QUERY_STRING};
if ($dl >0) {
sysread(STDIN, $que, $dl);
if ($query) {
$query = $query.'&'.$que;
}
else {
$query = $que;
}
}
my @comm = split('&', $query);
my %query = ();
foreach (@comm) {
/([^=]+)=(.*)/ && do {
local ($field, $value) = ($1, $2);
$query{$field} = &decode($value);
}
}
return %query;
}
sub decode {
my($val)=@_;
$val=~s/\+/ /g;
$val=~s/%([0-9A-H]{2})/pack('C',hex($1))/ge;
return $val;
}
А дальше совсем просто: Работает как через GET так и через Post или при одновременной передаче данных через GET и POST. Ещё ни разу не подводил... ![]() Последний раз редактировалось Fyn; 18.08.2004 в 11:33. |
![]() |
Часовой пояс GMT +4, время: 00:58. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|