標籤: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
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/9D/30/wKiom1l7E3-i6u1eAAAilW1SNNs623.png" style="float:left;" title="2017-07-28 18-33-07螢幕.png" alt="wKiom1l7E3-i6u1eAAAilW1SNNs623.png" />
真相在這!自動post跳轉到了目標頁面,且可以在目標頁面裡面擷取到post值。
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/9D/30/wKioL1l7E72hONmdAAAl1DVIKkM693.png" style="float:none;" title="2017-07-28 18-33-31螢幕.png" alt="wKioL1l7E72hONmdAAAl1DVIKkM693.png" />
本文出自 “我的PHP之路” 部落格,請務必保留此出處http://phpme.blog.51cto.com/663593/1951810
php實現post跳轉