Rumah >pembangunan bahagian belakang >masalah PHP >php如何实现post跳转

php如何实现post跳转

藏色散人
藏色散人asal
2020-10-10 09:20:183427semak imbas

php实现post跳转的方法:首先定义post处理页面url;然后获取当前页面的url;接着将querycan参数解析到数组变量;最后构造表单并跳转即可。

php如何实现post跳转

推荐:《PHP视频教程

php实现post跳转

大家否知道php可以利用header('Location')实现get请求跳转。

php利用curl可以实现模拟post请求。

但是却找不到php现成的实现post跳转。

那么问题来了,如果有这个需求该怎么实现呢?

今天在这里,利用form+js跟大家攒一个php的post跳转的方法。

index.php(发起跳转页面)

<?php
//定义post处理页面url
$actionUrl = &#39;./action.php&#39; ;
 
//获取当前页面的url
$url = &#39;http://&#39; . $_SERVER [ &#39;HTTP_HOST&#39; ]. $_SERVER [ &#39;PHP_SELF&#39; ]. &#39;?&#39; . $_SERVER [ &#39;QUERY_STRING&#39; ];
 
//解析url
$parseInfo = parse_url ( $url );
 
//获取url中的参数部分
$queryString = $parseInfo [ &#39;query&#39; ];
 
//将querycan参数解析到数组变量
$queryArr =[];
parse_str ( $queryString , $queryArr );
 
//循环拼接表单项
$formItemString = &#39;&#39; ;
foreach ( $queryArr  as  $key => $value ){
     $formItemString .= "<input name=&#39;{$key}&#39; type=&#39;text&#39; value=&#39;{$value}&#39;/>" ;
}
 
//构造表单并跳转
$content =<<<EOF
<form style= &#39;display:none&#39;  name= &#39;submit_form&#39;  id= &#39;submit_form&#39;  action= &#39;{$actionUrl}&#39;  method= &#39;post&#39; >
{ $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值。

Atas ialah kandungan terperinci php如何实现post跳转. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:php跳转失败怎么办Artikel seterusnya:linux php ldap安装配置的方法