Главная страница
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.014 c
3-28688
Ihor Osov'yak
2003-01-24 03:03
2003.02.10
Сервис + созданный в рантайме TADOConnection -> проблема с


1-28747
ShadowX
2003-02-01 00:42
2003.02.10
из Clipboard a в HTML


3-28631
Evg111
2003-01-23 13:54
2003.02.10
Error creating cursor handle (попытка №2)


1-28803
SaperXL
2003-01-31 04:01
2003.02.10
Активация - деактивация формы


14-29010
Рыжик
2003-01-23 13:00
2003.02.10
Сотовые