海天的页首,暂无

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

wKiom1l7E3-i6u1eAAAilW1SNNs623.png

 

 

 

真相在这!自动post跳转到了目标页面,且可以在目标页面里面获取到post值。

posted @ 2017-09-10 16:14  海天网  阅读(1244)  评论(0编辑  收藏  举报
海天的页脚,暂无