php中,post與get擷取參數的異同

來源:互聯網
上載者:User

標籤:建議   span   0kb   pass   執行   ble   use   sel   ring   

  最近在做一個小型的個人部落格時,發現自己在資料擷取方面總是出現各種問題,現就網頁資料的擷取方式加以歸類總結。

  最常見的擷取資料的方式有兩種:

  1. get方法 從指定的資源請求資料 即從伺服器上擷取資料

  2. post方法  向指定的資源提交要被處理的資料 即向伺服器傳送資料

  需要注意的一點是:

  Get方法:

  • 查詢字串(成對的名稱和數值)是在 GET 請求的 URL 中發送的,若使用get方法請求參數,需要在請求的URL後面傳入請求的參數值 (該資訊使用者可以看到)

  ex:http://localhost/17.5.21/postGet.php?name=max&pass=123

  Post方法:

  • 查詢字串(成對的名稱和數值)是在 POST 請求的 HTTP 訊息主體中發送的 (該資訊使用者看不到)
 Post: http://localhost/17.5.21/postGet.php HTTP/1.1 Host: localhost name=max&pass=123

 

  下面用一些代碼來實現具體的效果:

  • Get方法:
<?php$name = $_GET[‘name‘];var_dump($name);$pass = $_GET[‘pass‘];echo "<br/>";echo ‘pass=‘.$pass;echo ‘<hr>‘;?>

 因為使用get方法請求資料,所以在請求參數時,應在請求的URL後面加上請求的參數資料:?name=max&pass=123

  • Post方法:

  

<form method="post" name="form" action="postGet.php">  <table >      <tr>       <td>使用者名稱:</td>       <td><input type="text" name="username"/></td>      </tr>      <tr>       <td>密碼:</td>       <td><input type="password" name="psw"/></td>      </tr>      <tr>       <td><input type="submit" name="Submit" value="提交"/></td>      </tr>  </table></form> 
<?php     $username = $_POST[‘username‘];    echo "使用者名稱:".$username;    echo "<br/>";    $password = $_POST[‘psw‘];    echo "密碼:".$password;?>

  Html效果

  因為使用Post方法請求資料,所以在擷取參數時可以使用$_POST[‘‘]; 直接通過擷取html頁面中的name值得到對應的使用者在輸入框輸入的參數值

  

 

  總結:

  1. get是把參數資料隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到。

    post是通過HTTP post機制,將表單內各個欄位與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。使用者看不到這個過程。

  2. 對於get方式,伺服器端用Request.QueryString擷取變數的值,對於post方式,伺服器端用Request.Form擷取提交的資料。

  3. get傳送的資料量較小,不能大於2KB。

    post傳送的資料量較大,一般被預設為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為 100KB。

  4. get安全性非常低,post安全性較高。但是get執行效率卻比Post高。

  

  建議:

  1、get方式的安全性較Post方式要差些,包含機密資訊的話, 建議用Post資料提交方式;

  2、在做資料查詢時,建議用Get方式;而在做資料添加、修改或刪除時,建議用Post方式。

 

 

php中,post與get擷取參數的異同

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.