Board logo

標題: 5-1-2 自表單取得資料 [打印本頁]

作者: 小誌    時間: 2011-4-19 09:13     標題: 5-1-2 自表單取得資料

5-1-2   自表單取得資料
<form> 標籤的 method (傳輸方式)屬性值若為「Post」:『post』代表我們按下『傳送』按鈕後,瀏覽器將不會立即主動的將資料傳給伺服器,而會等候伺服端來讀取資料並加以處理,也就是當我們按下『傳送』按鈕後,表單中的資料不會附在網址之後:
[attach]5510[/attach]
圖5-5  使用Post方法傳送資料。
作者: 小誌    時間: 2011-4-19 09:14

若是表單以「Post」方式傳遞欄位資料,則我們在接收資料時就必須改用「$_POST[“表單欄位名稱”]」的方式來取得參數資料:(go1.php)
  1. <?
  2. $name=$_POST["name"];
  3. $email=$_POST["email"];
  4. $memo=$_POST["memo"];
  5. if ($name=="" || $email=="" || $memo=="")
  6. //….略
  7. ?>
複製代碼
若,我們在接收資料時使用「$_POST[“表單欄位名稱”」的方式來取得參數資料,那資料的傳遞就一定要透過表單了,我們不可以在瀏覽器的網址中直接輸入資料,不然接收資料的PHP程式網頁是不會顯示任何參數資料的:
[attach]5511[/attach]
圖5-6   無法自網址取得參數資料。


提示!!
使用「Get」方式傳遞表單資料時,當我們按下傳送按鈕後,資料會立刻送出給伺服器,執行效能較高,但資料傳送量較小,最多只能傳送2K左右的資料;使用「Get」方式傳遞表單資料時,我們按下傳送按鈕後,資料不會立刻送出給伺服器,而是等待伺服器前來讀取,所以執行效能較低,但資料傳送量較大,傳送的資料不受限制。
作者: 小誌    時間: 2011-4-19 09:15

如果表單的資料傳遞方式「Post」,而我又希望可以在瀏覽器的網址中直接輸入資料,那我們就可以直接使用「$_REQUEST[“參數名稱”」來接收資料,此時,分辨資料是來自QueryString或Form的任務就交給PHP Engine來處理,不過這樣會比較消耗系統資源喔!(go2.php)
  1. <?
  2. $name=$_REQUEST["name"];
  3. $email=$_REQUEST["email"];
  4. $memo=$_REQUEST["memo"];
  5. if ($name=="" || $email=="" || $memo=="")
  6. //….略
  7. ?>
複製代碼
提示!!
「$_REQUEST」、「$_GET」、「$_POST」皆為陣列變數,而且都是字串註標索引的陣列。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)