|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Alexey Gradovtsev 2:5030/1247.7 20 Dec 2001 15:26:23 To : Pavel Ammosov Subject : CGI.pm: POST отделить от GET -------------------------------------------------------------------------------- Pavel Ammosov в письме к Alexey Gradovtsev от 19 декабря 2001 г., 18:24 писал: PA> Hе понимает http://example.com/foo.pl?bar=1;baz=4;quaz=7 -- PA> разделители `;', а не `&'. Рекомендовано W3C для использования PA> в ссылках HTML <a href=...> Пожалуйста, модифицируем (см. ниже). PA> Hе понимает http://example.com/foo.pl?bar=1&bar=4&bar=7 -- PA> Одно имя параметра, много значений. Так чекбоксы и PA> <select multiple> передаются. Чекбоксы никто не мешает называть разными именами: bar1, bar2... Все равно они обозначают по сути разные переменные. Так бы ты обращался к ним $bar{$i}, а теперь $FORM{"bar$i"}. Hе очень удобно, согласен. Hо если хочешь checkbox'ы с одинаковыми именами или select multiple, то можно и самому несложно сделать что-то вроде: eval ("push (@name, $value)"); вместо $FORM{$name} = $value; AG>> if ($ENV{'REQUEST_METHOD'} eq "GET") { AG>> $buffer = $ENV{'QUERY_STRING'}; AG>> } AG>> else { AG>> read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); AG>> } AG>> @pairs = split(/&/, $buffer); @pairs = split (/[&;]/, $buffer); AG>> foreach $pair (@pairs) { AG>> ($name, $value) = split(/=/, $pair); AG>> $value =~ tr/+/ /; AG>> $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; AG>> $FORM{$name} = $value; AG>> } PA> Давить такие ``почти стандарты''. ЗЫ. С этим я не спорю, а просто выражаю сомнение в весомости конкретных аргументов. 20 декабря 2001 г. С наибестейшими регардсами, *Alexey*. ... The most valuable truth are those most easily understood. Bartoli. --- GoldED+/W32 snapshot-2001.02.24 * Origin: Просто я работаю волшебником (2:5030/1247.7) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/39613c21cb40.html, оценка из 5, голосов 10
|