Главная страница
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.019 c
1-28794
anonymos
2003-02-01 19:16
2003.02.10
Поиск


9-28565
Kornoman
2002-08-23 09:57
2003.02.10
Создание меню


1-28721
werr
2003-01-31 10:19
2003.02.10
как сделать лучше?


1-28782
Lexa2003
2003-01-29 23:15
2003.02.10
Как можно узнать, какой выставлен год на компьютере?


14-29059
Ginzzz
2003-01-17 19:51
2003.02.10
Partitional Magic 8