#php #html #forms
#php #HTML #формы
Вопрос:
Я работаю с формами PHP. Открывающий тег формы выглядит следующим образом:
<form name="adv_search_form" action="<?php echo $targetpage; ?>" method="GET">
Это сгенерировало следующий HTML:
<form name="adv_search_form" action="index.php?amp;amp;rel=common_listingamp;amp;module=companyamp;amp;sort_option=amp;amp;search_option=amp;amp;show_max_row=15" method="GET">
Когда я отправляю эту форму, я попадаю на URL:
http://localhost/projectcode12may2014/ampanel/index.php?field%5B]=broker_nameamp;adv_operation%5B]=LIKEamp;value%5B]=amp;query_type%5B]=ANDamp;submit=Submit
Но я хочу, чтобы
?field[]=broker_nameamp;adv_operation[]=LIKEamp;value[]=amp;query_type[]=ANDamp;submit=Submit
должно быть добавлено к URL-адресу действия на целевой странице. Может кто-нибудь предложить какой-нибудь хороший метод для этого? Заранее спасибо.
Ответ №1:
Если вы используете method="get"
параметры в действии, они перезаписываются. Будет передано только то, что находится в from .
Вам нужно добавить скрытые поля для всех этих значений. Например:
<input type="hidden" name="module" value="company" />
Ответ №2:
Это ваши данные из.
method="get"
У вас есть тег формы. Это означает, что данные формы объединяются с URL. Используйте method="post"
, чтобы отправлять данные формы в виде POST-запроса и поддерживать ваш URI в чистоте.
Так что измените эту строку
<form name="adv_search_form" action="<?php echo $targetpage; ?>" method="GET">
к этому
<form name="adv_search_form" action="<?php echo $targetpage; ?>" method="post">
Затем вы можете получить доступ к данным своей формы в PHP с помощью глобального $_POST
var, который содержит массив с отправленными данными.
Ответ №3:
Это нормальное поведение. Используя метод GET, удалите все параметры, указанные непосредственно в атрибуте action.
Вместо этого используйте метод POST или переместите параметры из атрибута action формы в поля ввода с типом =»hidden».