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访问:

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

wKiom1l7E3-i6u1eAAAilW1SNNs623.png



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


wKioL1l7E72hONmdAAAl1DVIKkM693.png










本文转自 hgditren 51CTO博客,原文链接:http://blog.51cto.com/phpme/1951810,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
小程序 前端开发 PHP
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
|
1月前
|
PHP 数据格式
PHP 中的CURL 模拟表单的post提交
PHP 中的CURL 模拟表单的post提交
16 0
|
2月前
|
安全 PHP 数据库
从建站打拿站 -- PHP(GET和POST)
从建站打拿站 -- PHP(GET和POST)
11 0
|
7月前
|
PHP
PHP $_POST
PHP $_POST
28 0
|
4月前
|
JSON 前端开发 PHP
dataType:'json'时post,总是调用error???附带php和json的一些坑
ajax是一个不错的东西 当dataType:'json'时提交,总是返回error 这是为什么? 经过折腾,终于发现因为要求的是json,返回的信息并不是json格式,因此总是出错
33 0
|
9月前
|
JavaScript API PHP
php和js获取POST参数API接口数据的不同解决方案
php和js获取POST参数API接口数据的不同解决方案
79 0
|
9月前
|
前端开发 PHP
php解决ajax使用post请求时提交的数据过多而导致et::ERR_CONNECTION_RESET的解决方案
php解决ajax使用post请求时提交的数据过多而导致et::ERR_CONNECTION_RESET的解决方案
128 0
|
9月前
|
PHP
PHP开发中$_GET请求转为$_POST获取参数的解决方案
PHP开发中$_GET请求转为$_POST获取参数的解决方案
39 0
|
9月前
|
PHP
php常用自建函数学习(4):ShowMsg返回弹出信息并进行返回、跳转、刷新等操作
php常用自建函数学习(4):ShowMsg返回弹出信息并进行返回、跳转、刷新等操作
68 0
|
9月前
|
JSON PHP 数据格式
PHP中json传递请求字符串网址函数http_build_query()与parse_str(),将POST参数组转换拼接成GET请求链接
PHP中json传递请求字符串网址函数http_build_query()与parse_str(),将POST参数组转换拼接成GET请求链接
96 0