Главная страница
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.028 c
14-29026
Navigor
2003-01-23 16:02
2003.02.10
Как String to Integer Сделать


1-28858
Fishka
2003-01-29 16:05
2003.02.10
PageControl и Image


6-28970
Scorpion [BC]
2002-12-18 19:45
2003.02.10
Как через локальную сеть общаться по микрофону?


4-29150
malkolinge
2002-12-26 12:29
2003.02.10
TreeView with CheckBox


14-29023
Думкин
2003-01-18 08:40
2003.02.10
Ирак