当action =“”为空时,仅传递后变量

时间:2012-03-27 16:01:03

标签: php post action

在php脚本中我有一个表单,方法是post,action-attribute是空的,到目前为止工作。但是当我在action-atribute中添加一个值时,就像这样:

 action="index.php?id=9&get-id=5"

提交后整个post-array为空。

有人知道这可能是什么意思吗?

Thanx提前,杰登

编辑:这是一个例子:

 $form = '<form name="form1" method="post" enctype="multipart/form-data" action="index.php?id=9&get-id=5">
                         <input type="text" name="name1" value="">
                         <input name="submit" type="submit" value="submit">
                    </form>';

表单显示在js-tabmenu的选项卡中,该选项卡也由get-parameters打开,每个选项卡中都有一个表单,提交后需要使用get-param以正确的形式显示正确的选项卡。 / p>

3 个答案:

答案 0 :(得分:2)

您不应在请求中同时使用GET和POST。

你必须只使用post,因此两个变量'id'和'get-id'应该在表单中(使用隐藏字段)

编辑:

尝试将代码更改为:

<form name="form1" method="post" enctype="multipart/form-data"
  action="index.php?id=9&get-id=5">
    <input type="hidden" name="id" value="9">
    <input type="hidden" name="get-id" value="5">
    <input type="text" name="name1" value="">
    <input name="submit" type="submit" value="submit">
 </form>

然后如果你:

print_r($_POST);

在index.php页面的顶部,你应该可以看到发生了什么。

另外 - 只是为了检查代码中是否有重定向,即index.php然后重定向到其他地方,因为这会导致$ _POST丢失

答案 1 :(得分:2)

尝试使用$_REQUEST

是$ _GET和$ _POST

的集合

答案 2 :(得分:0)

如果您尝试从脚本中访问id或get-id:即使您通过帖子提交该表单,也会将其附加到网址中。因此,您会像往常一样在$ _GET中找到它们的值。只有<input>字段的值(以及textarea等,简单地说:所有表单元素)都在$ _POST中。