PHP - 没有通过GET提交表单接收URL变量

时间:2012-11-08 11:54:07

标签: php post get

我有一个使用GET方法的表单,我也使用action方法传递一些URL变量:

<form action="items.php?a=1&b=2" method="get">...</form>

items.php 中,我使用$_REQUEST来解析a,b变量的内容,但除非我在表单中使用POST作为方法,否则变量显示为空或非存在的。

我已经了解了POST,GET,REQUEST之间的区别,但我不确定如何解决这个问题。我需要使用表单来使用GET以便缓存结果,当用户选择结果然后在浏览器中单击时,他将返回结果集。

5 个答案:

答案 0 :(得分:5)

首先,表单将从请求中删除变量a和b。要将它们添加到GET请求中,请使用以下内容:

<form action="index.php" method="get" >
<input type="hidden" name="a" value="1" />
<input type="hidden" name="b" value="2" />
....
</form>

从php您可以使用$_GET访问这些变量,例如:

$_GET['a'] // 1

答案 1 :(得分:2)

将方法切换为POST。

现在您将能够同时检索。

- &GT;通过$ _GET查找查询参数。

- &GT;通过$ _POST

查找POST参数

并帮自己一个忙,永远不要回头看那个怪物$ _REQUEST。

答案 2 :(得分:1)

我认为你应该使用$ _GET而不是$ _REQUEST。

例如:

$myVar = $_GET['a'];
$myVar2 = $_GET['b'];

答案 3 :(得分:1)

要查看$ _GET表单的输出变量:

print_r($_GET);

只需使用以下内容访问vars:

$a = $_GET['a'];
$b = $_GET['b'];

答案 4 :(得分:1)

在你的......中使用它,a,b变种的使用内容为隐藏字段

 <form action="items.php" method="get">
  ...
 <input type="hidden" name="a" value="1" />
 <input type="hidden" name="b" value="2" />
</form>

并将变量设为$_GET['a']$_GET['b']