淺析get與post的一些特殊情況
最近在做一些有關(guān)文件上傳等的工作,途中遇到了以下問題:
將表單以post方式提交給一個(gè)有參數(shù)的url(如:res.php?param=aaa),這樣的得到的結(jié)果將會(huì)是什么呢?
下面就從幾個(gè)例子將有關(guān)get與post的相關(guān)內(nèi)容進(jìn)行測(cè)試,首先看一下最簡單的
<html> <body> <?php echo $_GET ['param']; ?> <form action="get_post_test.php?param=aaa" method="get"> <input type="text" name="param" value="bbb" /> <input type="submit" value="submit"> </form> </body> </html>
以get的方式提交到已經(jīng)有這個(gè)參數(shù)的url,結(jié)果是對(duì)應(yīng)的value進(jìn)行了覆蓋,獲得了的param的為bbb.
如果url里面參數(shù),但是和表單里面的name不同呢?看下面測(cè)試?yán)?/p>
<html> <body> <?php echo $_GET ['param1']; echo "<br>"; echo $_GET ['param2']; ?> <form action="get_post_test.php?param1=aaa" method="get"> <input type="text" name="param2" value="bbb" /> <input type="submit" value="submit"> </form> </body> </html>
這個(gè)的結(jié)果是正確的得到了param2的值,但是沒有得到param1的值,說明以get方式提交均將原先url的參數(shù)去除了.
下面再看一下post方式提交的情況
首先看一下name值相同時(shí)的情況
<html> <body> <?php echo "get=" . $_GET ['param']; echo "<br>"; echo "post=" . $_POST ['param']; ?> <form action="get_post_test.php?param=aaa" method="post"> <input type="text" name="param" value="bbb" /> <input type="submit" value="submit"> </form> </body> </html>
這種情況下,輸出的結(jié)果是get方式獲得的是aaa,post方式獲取的是bbb,說明此種情況下互不影響.get與post單獨(dú)隔離開了.
下面看一下使用post方式獲取url后面的參數(shù)如何
<html> <body> <?php echo "get=" . $_GET ['param2']; echo "<br>"; echo "post=" . $_POST ['param1']; ?> <form action="get_post_test.php?param1=aaa" method="post"> <input type="text" name="param2" value="bbb" /> <input type="submit" value="submit"> </form> </body> </html>
此種情況下,獲取的參數(shù)全部為空,所以可以說php中g(shù)et與post獲取的參數(shù)是相互隔離的.
不過今天使用java進(jìn)行文件上傳的時(shí)候,可以正確的獲取所有數(shù)據(jù),即servlet里面可以使用request獲取不論是post的表單數(shù)據(jù)或者是url后的get數(shù)據(jù).畢竟servlet中獲取參數(shù)的方法是一樣的.
- php發(fā)送get、post請(qǐng)求的6種方法簡明總結(jié)
- PHP的curl實(shí)現(xiàn)get,post和cookie(實(shí)例介紹)
- PHP中使用cURL實(shí)現(xiàn)Get和Post請(qǐng)求的方法
- php中$_REQUEST、$_POST、$_GET的區(qū)別和聯(lián)系小結(jié)
- php中使用Curl、socket、file_get_contents三種方法POST提交數(shù)據(jù)
- PHP CURL模擬GET及POST函數(shù)代碼
- php的curl實(shí)現(xiàn)get和post的代碼
- php下通過POST還是GET來傳值
- PHP循環(huán)獲取GET和POST值的代碼
- php過濾所有惡意字符(批量過濾post,get敏感數(shù)據(jù))
相關(guān)文章
laravel實(shí)現(xiàn)一個(gè)上傳圖片的接口,并建立軟鏈接,訪問圖片的方法
今天小編就為大家分享一篇laravel實(shí)現(xiàn)一個(gè)上傳圖片的接口,并建立軟鏈接,訪問圖片的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10
Yii操作數(shù)據(jù)庫實(shí)現(xiàn)動(dòng)態(tài)獲取表名的方法
這篇文章主要介紹了Yii操作數(shù)據(jù)庫實(shí)現(xiàn)動(dòng)態(tài)獲取表名的方法,涉及Yii框架針對(duì)數(shù)據(jù)庫的動(dòng)態(tài)操作技巧,需要的朋友可以參考下2016-03-03
Apache+php+mysql在windows下的安裝與配置(圖文)
2008-02-02
在Ubuntu 18.04上安裝PHP 7.3 7.2和7.0的方法
這篇文章主要介紹了在Ubuntu 18.04上安裝PHP 7.3 7.2和7.0的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04

