Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: CL | DM;

Вниз

Как обработать post?   Найти похожие ветки 

 
Феликс ©   (2003-01-23 13:28) [0]

Метод get, я обрабатываю так:
#!/usr/bin/perl

print "Content-type: text/html\n\n";

local $buffer="";
local $name="";
local $value="";
local $FORM="";

local $buffer = $ENV{QUERY_STRING};

#разбираем форму

local @pairs = split(/&/, $buffer);

foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$FORM{$name} = $value;
};


$parametr=$FORM{"parametr"};
и.т.д

НО возникла необходимость обробатывать метод POST? Как такое сделать? Соответсвенно нужен исходник.


 
sunwheel ©   (2003-01-23 15:16) [1]

#!/usr/local/bin/perl

print "Content-Type: text/html\n\n";

if($ENV{"REQUEST_METHOD"} eq "GET"){
$query=$ENV{"QUERY_STRING"};
}
elsif($ENV{"REQUEST_METHOD"} eq "POST"){
sysread(STDIN,$query,$ENV{"CONTENT_LENGTH"});
}

@formfields=split(/&/,$query);

foreach(@formfields){
if(/^news_count=(.*)/){$news_count=urldecode($1);}
if(/^lang=(.*)/){$lang=urldecode($1);}
}

sub urldecode{
local($val)=@_;
$val=~s/\r\n/\n/g;
$val=~s/\+/ /g;
$val=~s/%([0-9a-hA-H]{2})/pack("C",hex($1))/ge;
return $val;
}



Страницы: 1 вся ветка

Текущий архив: 2003.02.10;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.023 c
7-29106
andrew_f
2002-12-03 16:19
2003.02.10
Получение иконки зарегистрированного Виндой файла


14-29074
JibSkeart
2003-01-25 13:18
2003.02.10
Эхх Лето бы скорее !!


1-28919
_jek
2003-01-30 19:15
2003.02.10
Упаковка базы DBF


1-28805
d_oleg
2003-01-29 21:10
2003.02.10
TBitBtn и Xp themes


1-28884
REA
2003-01-30 17:18
2003.02.10
Видимость функций