php如何使用post跳转页面

php使用post跳转页面的方法:首先定义post处理页面url;然后获取当前页面的url,并解析url;接着获取url中的参数部分,将querycan参数解析到数组变量;最后循环拼接表单项,构造表单并跳转。

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);

想了解更多编程学习,敬请关注php培训栏目!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注