php实现post跳转

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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值。


技术分享


本文出自 “我的PHP之路” 博客,请务必保留此出处http://phpme.blog.51cto.com/663593/1951810

以上是关于php实现post跳转的主要内容,如果未能解决你的问题,请参考以下文章

怎么实现php表单提交后不跳转

PHP 用CURL POST后获取cookis并跳转到另一个页面

PHP 表单用post传值不了 跳转出现空白页。。

discuz X3.1 源代码阅读,记录代码片段

php curl 模拟post表单向提交数据

解决php实现页面登录注册功能并实现跳转