首頁 >後端開發 >PHP問題 >php如何實現post跳轉

php如何實現post跳轉

藏色散人
藏色散人原創
2020-10-10 09:20:183418瀏覽

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值。

以上是php如何實現post跳轉的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn