![]() |
|
||||||||||
|
|||||
|
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, время: 21:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|