html form & php ошибка 400
Есть форма(юзер вводит только текст). она передает данные скрипту на PHP, и все бы хорошо, но если ввести слово "a b" т.е. любые два слова через пробел - форма отправляет это через GET(через POST не знаю но ошибка тоже такая же) как a+b, а скрипт, если в нем пытаешься с переменной что нить сделать - выдает 400 ошибку.
я пытался и enctype менять и method, и extract($http...) и НИЧЕГО не помогло.
Есть форма(юзер вводит только текст). она передает данные скрипту на PHP, и все бы хорошо, но если ввести слово "a b" т.е. любые два слова через пробел - форма отправляет это через GET(через POST не знаю но ошибка тоже такая же) как a+b, а скрипт, если в нем пытаешься с переменной что нить сделать - выдает 400 ошибку.
я пытался и enctype менять и method, и extract($http...) и НИЧЕГО не помогло.[/QUOTE]
понял только то, что сервак огрызается на знак плюса. хотя тот же яндекс именно так работает, с плюсами.
А вообще, форму в студию, может в ней ошибка ?
неплохо было бы текст формы поглядеть. А то что-то как-то всё... телепатировать приходится... Хм, интересно поглядеть на форму, которая отправляет GET'ом, когда у неё написанно POST...
Не, ты не понял она отправляет тем чем нужно.
Форма? Не смешно, я вроде HTML знаю...
<form enctype="multipart/form-data" name="w" method="post" action="search2.php">
<input tabindex="1" type="text" name="text" size="43" maxlength="300" value="as"/>
<input type="submit" value="Найти" />
<input type="hidden" name="stype" value="www"/>
</form>
только я тут МЕНЯЛ и enctype и method, никакая форма не работает с двухсловными запросами. пробел переделывает в плюс, а на
a.b/search2.php?text=a+b
сервак дает 400
Короче еще могу сказать то что в странице нет установки кодировки в HEAD.
А вообще, форму в студию, может в ней ошибка ?[/QUOTE]
модули я не смотрел(через phpinfo надо?), но на двух серваках та же фигня.
А ты из какого браузера форму отправляешь?
А ты из какого браузера форму отправляешь?[/QUOTE]
Отправляю из 3-х браузеров - везде такая ботва.
Нет никаких ограничений на прием данных??
ТЫ НАВЕРНОЕ В ФАЙЛЕ .PHP НЕ использовал переменную эту, а как тольео echo $text; так все и ошибка
и на локалхосте РАБОТАЕТ. апач на винде
Нет никаких ограничений на прием данных??
ТЫ НАВЕРНОЕ В ФАЙЛЕ .PHP НЕ использовал переменную эту, а как тольео echo $text; так все и ошибка
и на локалхосте РАБОТАЕТ. апач на винде[/QUOTE]
Решение найдено, оказывается эту ошибку показывал класс Snoopy.class.php потому что переменная которая принималась формой, использовалась в создании сокета, следовательно была ошибка 400, поставил $text = urlencode($text); и все заработало.
Спасибо за внимание.
Вот переданы скрипту данные, где то открывается
$HTTP_GET_VARS["url"]
а где-то
$url
Где то надо extract() а где то не надо, что это за настройки надо произвести чтобы регулировать на серваке эту настройку?
Надо всегда просто использовать $_GET, $_POST и $_REQUEST да и всё. Какие ещё могут быть настройки...
Вот переданы скрипту данные, где то открывается
$HTTP_GET_VARS["url"]
а где-то
$url
Где то надо extract() а где то не надо, что это за настройки надо произвести чтобы регулировать на серваке эту настройку?[/QUOTE]
Попытался дойти сам и понял, что это
registers_global = on
А куда это на сервере прописывать - не догадался пока, хотя, это скорее всего в httpd.conf Апача. Как прописать его на серваке - не знаю. Подвопрос: как получить FTP рута, я тока root в WHM, а себя сделал как реселлера, даже не задумывался что понядобится рут FTP. (вот щас думают наверное, ламеру сервак достался :) )
Цитата:
А куда это на сервере прописывать - не догадался пока, хотя, это скорее всего в httpd.conf Апача
Если машина твоя, то ищи эту строку в php.ini, если нет, то ini_set() тебя спасёт (за подробностями в man)