|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/400 18 Aug 2004 14:56:25 To : Alexander V. Gaiduk Subject : Re: Hа: Hа: Hа: Hа: модуль CGI -------------------------------------------------------------------------------- r.ru> <86llgcn7ts.fsf@tigger.lan.cryptocom.ru> <cfv7p6$i9h$1@Bizone.inar.ru> From: Artem Chuprina <ran+news@ran.pp.ru> Alexander V. Gaiduk -> Artem Chuprina @ Wed, 18 Aug 2004 09:33:59 +0000 (UTC): >> >> Вот что написано в запощенном недавно тобой скрипте: >> >> >> >> foreach my $li (split(/&/, $_[0])) { >> >> >> >> а вот что в аналогичном месте в CGI.pm: >> >> >> >> my(@pairs) = split(/[&;]/,$ENV{QUERY_STRING}); >> >> >> >> Видишь разницу? >> >> AVG> незначительную. >> >> Всего одну? AVG> да. Их там две :-) >> AVG> и почему именно ';' ? >> >> По стандарту. AVG> ни разу не видел. AVG> возможно не очень внимательно читал RFC-2068 и RFC-2616 AVG> может какие то мелочи и упустил... Читать надо документацию на HTML. Впрочем, я несколько прогнал - это не стандарт (стандарт подразумевает использование '&', это сложившаяся у кого-то практика. Сильно подозреваю, что этот "кто-то" - он как обычно... >> AVG> или встречный вопрос: >> AVG> а если я разделяю пары параметров не '&' или ';' а другим символом? >> >> Тогда ты не сможешь предложить браузеру самостоятельно сформировать >> запрос (т.е. сделать форму с методом GET). AVG> зато я смогу написать AVG> <form action="/cgi-bin/script.pl/db1/table2/field3" method="post"> AVG> просто у меня в реальной функции специально задаются символы разделители, AVG> я ее применяю и для разбора других данных, с похожей структурой. Это и так можно сделать. Только интерфейс CGI это тебе предоставит ни разу не в QUERY_STRING, а вовсе даже в PATH_INFO. Hо суть-то не в этом. Суть в том, что ты не можешь предложить браузеру отправить методом GET форму, поля которой заполняет юзер. Можешь, конечно, методом POST, но он все равно разделит их '&' или ';', а не '/' -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/25606ea026d7e.html, оценка из 5, голосов 10
|