服务器不定时会向一个 url(例如 https://www.123.com/23/)推送一次 get 请求,请问怎么使用 PHP 判断当前 url 是否有 get 请求,并接收 get 请求的参数呀?

2019-02-11 09:43:02 +08:00
 hylsay
3488 次点击
所在节点    程序员
17 条回复
lshang
2019-02-11 09:51:03 +08:00
这条 URL 应该是路由到你的 PHP 脚本上的吧,接收到请求的时候,判断下 HTTP Method 是否为 GET,如果是 GET 就获取参数。

判断是否为 GET 可以用
```php
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
}
```

获取参数,可以直接取 $_GET 的值。
qiayue
2019-02-11 10:04:39 +08:00
php 本身就是被动接收的,有请求就会把你的代码执行一次
除非你的 php 做成了服务,即使是服务,也会有消息时给你事件通知
Sapp
2019-02-11 10:07:50 +08:00
没看懂你的需求,这不就是个简单的请求处理么?一般是代理转发到你的 php 上,php 进行处理吧? 这个时候你就判断一下是 get 还是 post 不就行了么?如果是框架,应该有直接的处理吧
hylsay
2019-02-11 11:06:47 +08:00
@lshang 老师,怎么接收 get 请求的参数?
hylsay
2019-02-11 11:09:38 +08:00
@Sapp $order_id = $_GET["order_id"]; 是通过这种方式接收参数的吗?为什么获取不到数据呢?
yytsjq
2019-02-11 11:13:21 +08:00
print_r($_GET) 这样?
MonoLogueChi
2019-02-11 11:13:44 +08:00
get 请求就是和你正常打开一个网页是一样的,获取 get 请求参数,就是下载你打开的网页,只不过程序获得的是网页源码,你看到的是已经渲染过的网页
runnerlee
2019-02-11 11:15:36 +08:00
开了 nginx 的 access log 看一下? 看看实际过来的 method 跟 uri 是怎样的. 如果的确是 GET 并且带有 query string, 那可能就要看下 nginx 里的 pathinfo 配置了.
hylsay
2019-02-11 11:21:35 +08:00
现在只知道服务器会向这个 url(例如: http://www.xxx.com)发送一次 get 请求,如何通过 php 接收 get 参数?求老师们给个例子。我使用$order_id = $_GET["order_id"]; 获取不到数据
qiayue
2019-02-11 11:29:12 +08:00
你自己开发测试时,需要自己加参数
例如 domain.com/order?order_id=123

然后你的程序里就能够通过 $_GET['order_id'] 来获取
$order_id = isset($_GET['order_id'])?$_GET['order_id']:0;

其实简单来说,就是你服务器怎么访问,你自己测试当然也要同样访问啊
qiayue
2019-02-11 11:30:03 +08:00
服务器向你的 url 发了一次请求,后来你自己再打开,又是一个新的请求,当然获取不到上一次服务器请求的数据啊
zhengwenk
2019-02-11 11:44:15 +08:00
你的 order_id 是 23 么
zarte
2019-02-11 11:55:16 +08:00
@hylsay
php 的 get 参数是?开头后面的用&
baidu.com?id=1&name=333 这样
你的那个 baidu.com/1/333 是要配置 nginx 或者 apache 实现的要不然就会去找 1 文件夹和 333 文件
PERFECTCN
2019-02-11 11:58:36 +08:00
qilishasha
2019-02-11 14:48:46 +08:00
可以通过$_SERVER['REQUEST_URI']来对 URL 进行解析,很多人使用这个方法放自己捣鼓的框架里来做一种叫“路由”的东西。。。。。。。。。
zxq2233
2019-02-11 15:17:27 +08:00
php 基础
jasperjia
2019-02-12 08:48:42 +08:00
理解一下反向代理为什么叫反向代理而不是正向代理

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/533832

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX