Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [HTML Forms]Формы и метод GET

Ответить
Настройки темы
[HTML Forms]Формы и метод GET

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120


Конфигурация

Профиль | Отправить PM | Цитировать


возможно это давно всем известно, но я первый раз с этим сталкиваюсь:

Если в форме используем метод GET для передачи данных, то параметры GET URL-a скрипта-получателя (то есть то, что в action стоит) просто стераются
Пример:
HTML код: Выделить весь код
<form action='script.php?modus=save_message' method='GET'> <input name='var1'> </form>

Так вот скрипт script.php получит $var1, но вот $modus уже не получит
С POST всё в порядке.

Я не понимаю логику за этим: нельзя дальнейшии GET переменные на URL навешeвать?
Или может браузер глупый (IE7)

Или я чего то не понимаю.....

Отправлено: 14:45, 23-11-2006

 

Аватара для XCodeR

Ветеран


Сообщения: 878
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


vadimiron
а зачем так сложно?
почему нельзя использовать просто hidden-поля?

Отправлено: 16:05, 23-11-2006 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


У меня этот метод работал. Может стоит попробовать принять переменную как $_GET['modus'] ?

Отправлено: 18:43, 23-11-2006 | #3


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Coutty
Я так и принимаю и никак по другому

XCodeR
Приходиться так и делать, я просто хочу понять логику, что мешает браузеру в запрос просто навесить дополнительные переменные

Почему я так делаю: у приложения модульная структура, то есть переменная $modus отвечает за то, какой скрипт загрузиться
Чтобы не прописывать всё время руками УРЛ с соответствующим модулем я в управляющем скрипте создаю константу MAIN_URL и применяю её везде


Кстати такой же эффект, если я ничего в action не напишу
При ПОСТе переменные передаются, при ГЕТе нет

-------
Fortes fortuna adiuvat


Отправлено: 19:33, 23-11-2006 | #4


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


vadimiron, а в иных броузерах нормально все?
Кстати, может поглядеть в иные суперглобалы, вроде _REQUEST?

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Последний раз редактировалось Prisoner, 24-11-2006 в 20:33.


Отправлено: 20:18, 24-11-2006 | #5


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Prisoner
в FireFox тоже не работает. REQUEST тоже нет - это же всего соединение двух массивов

Код для проверки:
PHP код: Выделить весь код

echo "<form action='test.php?var_get=lala' method='GET'>";


echo 
"<input name=var_post>";

echo 
"</form>";

echo 
"<br><br>";

if(!empty(
$_POST) || !empty($_GET))
{
  echo 
"<pre>";
  echo 
"POST: ";print_r($_POST);
  echo 
"GET: ";print_r($_GET);
  echo 
"REQUEST: ";print_r($_REQUEST);



Может что то связанное с безопастностью.....

Отправлено: 23:37, 24-11-2006 | #6


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


vadimiron, объединение, верно, однако самому проверить так ли это в этой ситуации (привычка верить во всякие глупости ) в тот момент у меня не было возможности, потому и спросил. Ну да ладно. У меня тоже не работает . Сейчас проверил во всех броузерах что под рукой были - одно поведение: удаление переменной из action. Остается только объяснить это поведение и смириться, задействовав hidden поля. Объяснение же может быть следующим (лень копать соответствующие RFC) т.к. метод у нас GET, то ПА генерирует состояние формы в тот же поток где у нас стоит наше "modus=save_message" затирая все то, что там было до нас. POST же так не поступает посколько состояние формы идет иным потоком. Как итог - юзать hidden поля и мириться с двойными (_GET и _POST, из action и hidden полей, соответственно) переменными.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 00:01, 25-11-2006 | #7



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [HTML Forms]Формы и метод GET

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как передать данные с HTML формы в PHP скрипт? .ExeRun Вебмастеру 7 19-04-2010 02:31
формы html dima1981 Вебмастеру 12 17-08-2008 21:00
Скрипт РНР для обработки формы HTML   Lorena Вебмастеру 1 02-11-2004 14:50
HTML, Формы... Dafi Вебмастеру 26 23-01-2004 08:06
цвет формы в HTML koresaram Вебмастеру 3 23-07-2003 00:05




 
Переход