“POST请求还有$ _GET参数”是什么意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“POST请求还有$ _GET参数”是什么意思相关的知识,希望对你有一定的参考价值。

嗨,我正在看$_GET$_POST方法之间的差异,我遇到一些文章,说

  • POST请求也有$ _GET参数
  • 所以POST请求是GET请求的超集;你可以在POST请求中使用$ _GET,甚至可以在$ _POST和$ _GET中使用具有相同名称的参数来表示不同的事情。

When should I use GET or POST method? What's the difference between them?

http://www.sitepoint.com/on-get-and-post/

还有一个例子

例如,假设您有一个用于编辑文章的表单。 article-id可以在查询字符串中(因此,可以通过$ _GET ['id']获得),但是假设您要更改article-id。然后新的id可以出现在请求体中($ _POST ['id'])。

所以我们怎么能同时使用$_GET['id'] and $_POST['id'],令人困惑。请用一个简单的例子解释一下。所以包括我在内的每个人都不明白这一点可以理解。

先感谢您 :)

答案

或许最简单的理解方法是,$_GET的名字很简单。实际上它代表的是在?之后从URL的一部分解析的“查询字符串”参数的值。由于每个请求都有一个URL,无论它是什么类型,任何请求都可以填充$_GET

另一方面,$_POST仅用于POST请求,即使只有那些请求体具有特定格式的请求。

当您在html中使用method=get时,浏览器只会根据表单数据创建一个URL,并使用GET请求请求该URL与您在地址栏中键入的URL相同。使用method=post,表单数据与URL分开发送,但URL可能仍包含?和查询字符串。

另一答案

我将通过一个例子向您解释:

<form method='post' action='edit-article.php?article_id=3'>
    <label for='article_name'>Article name:</label>
    <input type='text' name='article_name' value='' />
    <input type='submit' name='edit' value='Change article name' />
</form>

当您按提交时,您将被重定向到edit-article.php?article_id = 3

在这里,您将设置以下变量:$_GET['article_id'](来自url),$_POST['article_name'](来自表单)和$_POST['edit'](提交按钮,也可以通过表单)

另一答案

想想这样。你有两个完全不同的数组:

$A = array();
$B = array();

现在你可以编写这段代码:

$A['id'] = 8;
$B['id'] = 5;

以上代码完全有效。这些是不同的数组,它们碰巧具有相同的键,并为其分配了不同的值。

$_GET$_POST是不同的变量。您写入url查询的所有内容都会显示在$ _GET变量中,您通过POST发送的内容将最终显示在$_POST中。因此,您可以在URL查询和POST数据中设置相同的密钥。

然而,$_REQUEST持有$_GET$_POST$_COOKIE的数据。如果你在$_POST$_GET中有相同的键我们可以假设,$_REQUEST将只保留其中一个值。我实际上不知道,哪个值将保存在$_REQUEST,我希望其他人知道答案,因为我对此非常好奇。

以上是关于“POST请求还有$ _GET参数”是什么意思的主要内容,如果未能解决你的问题,请参考以下文章

C++ 这句代码啥意思啊

请教一段错误SQL的代码是啥意思

代码签名是啥意思?

这段js代码啥意思

c语言 这段代码是啥意思,结果为啥是20,20

宽带故障代码9000102是啥意思?