当我使用post方法时为什么在$ _GET中设置url

时间:2018-06-05 13:18:41

标签: forms post get

当我用post方法提交表单时,你们有什么想法为什么在$ _GET中设置了网址?

我有一个这样的表格:

<form action="/test/show/" method="post" enctype="multipart/form-data">
    <input name="product" value="testing">
    <input type="file" name="image">
    <input type="submit" value="go" name="submit">
</form>

在我的Chrome中我可以看到它将作为帖子发送,但如果我这样做:

if (count($_GET) > 0) {
    var_dump($_GET);
}

我得到了这个结果:

array(1) { ["url"]=> string(10) "test/show/" }

我不知道为什么?

你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

在正常情况下,使用该URL,它不会。大概您正在使用mod_rewrite或类似内容将/test/show映射到类似/index.php?url="%2Ftest%2Fshow的内容。

这是因为PHP选择了$_GET超全球的名字很差。

带有method="GET"的HTML表单会将其表单控件中的数据放入查询字符串中,但这不是请求带有查询字符串的URL的唯一方法。

$_GET包含来自查询字符串的数据,与请求方法无关