php如何实现post跳转

php实现post跳转的方法:首先定义post处理页面url;然后获取当前页面的url;接着将querycan参数解析到数组变量;最后构造表单并跳转即可。

推荐:《PHP视频教程》

php实现post跳转

大家否知道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 ( $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(跳转目标页面)

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

get访问:

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

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

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php如何实现post跳转