php实现post跳转
大家否知道php可以利用header('Location')实现get请求跳转。
php利用curl可以实现模拟post请求。
但是却找不到php现成的实现post跳转。
那么问题来了,如果有这个需求该怎么实现呢?
今天在这里,利用form+js跟大家攒一个php的post跳转的方法。
index.php(发起跳转页面)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<?php //定义post处理页面url $actionUrl = './action.php' ; //获取当前页面的url $url = 'http://' . $_SERVER [ 'HTTP_HOST' ]. $_SERVER [ 'PHP_SELF' ]. '?' . $_SERVER [ 'QUERY_STRING' ]; //解析url $parseInfo = parse_url ( $url ); //获取url中的参数部分 $queryString = $parseInfo [ 'query' ]; //将querycan参数解析到数组变量 $queryArr =[]; parse_str ( $queryString , $queryArr ); //循环拼接表单项 $formItemString = '' ; foreach ( $queryArr as $key => $value ){ $formItemString .= "<input name='{$key}' type='text' value='{$value}'/>" ; } //构造表单并跳转 $content =<<<EOF <form style= 'display:none' name= 'submit_form' id= 'submit_form' action= '{$actionUrl}' method= 'post' > { $formItemString } </form> <script type= "text/javascript" > document.submit_form.submit(); </script> EOF; exit ( $content ); |
action.php(跳转目标页面)
1
2
3
|
<?php //打印post接收到的数据 echo print_r( $_POST ,true); |
无图无真相,各位看官都来瞧瞧。
get访问:
(yoururl)http:///www.pangdan.com/index.php?name=jack&age=100&sex=boy&no=001
真相在这!自动post跳转到了目标页面,且可以在目标页面里面获取到post值。