在PHP表单提交与GET数据的工作问题


Issues in working of PHP form submit with GET data

我正在使用PHP表单。开始的表单标签看起来像这样:

<form name="adv_search_form" action="<?php echo $targetpage; ?>" method="GET">

生成了以下HTML:

<form name="adv_search_form" action="index.php?&amp;rel=common_listing&amp;module=company&amp;sort_option=&amp;search_option=&amp;show_max_row=15" method="GET">

当我提交这个表单时,我进入了一个URL:

http://localhost/projectcode12may2014/ampanel/index.php?field%5B%5D=broker_name&adv_operation%5B%5D=LIKE&value%5B%5D=&query_type%5B%5D=AND&submit=Submit

但是我想要的是

?field%5B%5D=broker_name&adv_operation%5B%5D=LIKE&value%5B%5D=&query_type%5B%5D=AND&submit=Submit

应该添加到登陆页的动作URL。谁能提出什么好的方法来做这件事?

如果您使用的是method="get",则操作中的参数将被覆盖。只有输入的内容才会被传输。

您需要为所有这些值添加隐藏字段。例如:

<input type="hidden" name="module" value="company" />

这是你的from data.

你有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访问你的表单数据,它保存了一个数组,其中包含了提交的数据。

这是正常的行为。使用GET方法丢弃直接在action属性中指定的所有参数。

使用POST方法代替或将参数从表单的action属性移动到type="hidden"的输入字段