开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
centos下 Apache、php、mysql默认安装路径
apache: 如果采用RPM包安装,安装路径应在 /etc/httpd目录下 apache配置文件:/etc/httpd/conf/httpd.conf Apache模块路径:/usr/sbin/apachectl web目录:/var/www/html 如果采用源代码安装,一般默认安装在/usr/local/apache2目录下 php: 如果采用RPM包安装,安装路
3125 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
复杂PHP系统性能瓶颈排查及优化
立即下载
yqdh_58c127bb3e4...1510402406.pdf
立即下载
PHP安全开发_从白帽角度做安全
立即下载