php实现post跳转的方法:首先定义post处理页面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 .= "" ;
}
//构造表单并跳转
$content =<<
{ $formItemString }
document.submit_form.submit();
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值。