$ _POST方法中的Url PUSH问题

时间:2011-12-08 05:20:37

标签: php post sms sms-gateway

目前我一直致力于一个连接到smsgateway的项目。一旦用户将短信发送到网关,它就会将请求重定向到我们的服务器。问题是它们是在$ _GET方法中收到的。但是短信提供商说他们用$ _POST方法传递它。我们收到的网址如下所示。

http://www.example.com/smstest?msg=sample&id=55788

使用$ _POST方法时,是否可以在url中接收参数

3 个答案:

答案 0 :(得分:2)

是的,确实如此。每个HTTP请求的第一行包含method(或动词)以及发出请求的URI。根据方法的选择,对URI没有特殊限制,因此可以对包含query string的URI进行POST请求。

通过PHP,您可以通过$_GET$_REQUEST访问查询字符串中的参数。作为提交表单的一部分传递的参数可以通过$_POST$_REQUEST一直访问。

答案 1 :(得分:2)

HTTP请求可以使用 HTTP方法 POST,并仍然使用包含查询参数的URL。 POST只是HTTP标头中使用的“动词”,与GET(以及PUTDELETE)相同。 URL始终可以包含查询参数,并且它也可以始终包含请求正文(尽管GET请求不应该)。 PHP变量$_GET仅表示已解析的URL查询参数,变量$_POST仅表示已解析的请求正文。它们实际上与HTTP动词没有任何关系,因此有些名称错误。

答案 2 :(得分:1)

执行(POST, GET, PUT, ...)时,您只能有一个动词HTTP Request。但是,你可以做到

<form name="y" method="post" action"y.php?foo=bar">

然后PHP也将填充$ _GET ['foo'],尽管请求是POST。

发表评论

使用

$_SERVER['REQUEST_METHOD']