Проблема
У меня есть HTML-форма и скрипт perl cgi.pm.
Поиск введен в текстовое поле.Если в записи есть пробел, любые другие параметры (например, выбранные переключатели) обрезаются.ех.'hello world', приводит к only 'hello'.
Таким образом, URL имеет значение: query=hello
вместо query=hello+world&name=tag&name1=tag1...
.
Вызов вСкрипт perl: $search_key = param('query')
не содержит пробела или чего-либо после него.Только $ search_key = 'hello'.
Путаница
Работает нормально, когда я использую свой собственный веб-сервер apache на localhost.Но проблема возникает при попытке выложить его в интернет.Единственные различия в коде: (1) гиперссылки url в скрипте perl - search2011.cgi
против multwordsearch.cgi
(не проблема), (2) страница промежуточной загрузки - loading.cgi
и (3) URLв вызове "action =" в HTML-коде:
Работает: <form name="search_option" action="http://localhost/cgi-bin/multiwordsearch.cgi" method="get" onSubmit="return checkform(this);">
против
Не работает:
<form name="search_option" action="/cgi-bin/loading.cgi" method="post" onSubmit="return checkform(this);">
<h2><font color=forestgreen>Biomimetic Search</font></h2>
<input type="text" name="query" size="40" />
Также Несмотря на наличие «POST», он по-прежнему отображает query=hello
!
Я пробовал http ... before / cgi-bin /, он ничего не сделал.Я попытался $search_key =~ s/ /+/
, но ничего не получилось, поэтому я знаю, что пространство не заходит так далеко.Кроме того, гиперссылки работают правильно (т. Е. Весь URL: все теги «имя-значение» печатаются после запроса).Я попытался увеличить размер текста.
Если поиск - «привет + мир», он работает как следует, поэтому проблема в том, что что-то неправильно интерпретирует пространство.
Вопрос
Проблема в том, что он усекается при переходе из формы, либо при нажатии кнопки, либо просто из текстового поля (или где-то в cgi.pm).
Может ли это бытьпроблема с моей стороны?Я понимаю, что информация ограничена, но это все, что отличается!Есть идеи, что еще попробовать?
Дайте мне знать, есть ли что-нибудь еще, что вам нужно.