大家否知道php可以利用header('Location')实现get请求跳转。

php利用curl可以实现模拟post请求。

但是却找不到php现成的实现post跳转。

那么问题来了,如果有这个需求该怎么实现呢?

今天在这里,利用form+js跟大家攒一个php的post跳转的方法。


index.php(发起跳转页面)

<?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($queryArras$key=>$value){$formItemString.="<inputname='{$key}'type='text'value='{$value}'/>";}//构造表单并跳转$content=<<<EOF<formstyle='display:none'name='submit_form'id='submit_form'action='{$actionUrl}'method='post'>{$formItemString}</form><scripttype="text/javascript">document.submit_form.submit();</script>EOF;exit($content);



action.php(跳转目标页面)

<?php//打印post接收到的数据echoprint_r($_POST,true);


无图无真相,各位看官都来瞧瞧。

get访问:

http://yoururl/index.php?name=jack&age=100&sex=boy&no=001




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