2018年12月21日 星期五

DW_PHP_AJAX_CH4 PHP對資料的接收與輸出_(1)表單資料的讀取_自表單取得資料

form 標籤的 method (傳輸方式)屬性值若為「POST」:『POST』代表按下『送出』按鈕後, 瀏覽器將不會立即主動的將資料傳給伺服器, 而會等候伺服端來讀取資料並加以處理, 也就是按下『送出』按鈕後,表單中的資料不會附在網址之後。

若將上一小節的表單(getForm.htm)資料傳送方式改為POST(筆者另存為postForm.htm), 以Dreamweaver建立postFormAct.php並接收採用POST方法傳送的表單資料步驟如下:
1. 選取主功能表【視窗】/【繫結】。

2. 選取「繫結」頁籤, 按下「+」按鈕, 選取『表單變數』命令。



3. 在「表單變數」對話框的「名稱」欄位中輸入要接收的表單欄位名稱, 下圖為設定接收來自'aName'欄位的值:


4. 重複步驟2、3, 設定接收來自'email'欄位的值。

5. 利用拖曳的方式, 將表單變數aName、email自繫結面板拖曳至網頁中:



將編輯畫面切換到「程式碼」, 您將發現:表單若以「POST」方式傳遞資料, 則在接收資料時就必須改用「$_POST[“表單欄位名稱”]」的方式來取得參數資料:
<p><?php echo $_POST['aName']; ?>您好!!</p>
<p>您的信箱為:<?php echo $_POST['email']; ?></p>

!!!TIP:

  • 若, 在接收資料時使用「$_POST[“表單欄位名稱”」的方式來取得參數資料,那資料的傳遞就一定要透過表單, 不可以在瀏覽器的網址中直接輸入資料, 不然接收資料的PHP程式網頁是不會顯示任何參數資料的。
  • 如果表單的資料傳遞方式是「POST」, 而又希望可以在瀏覽器的網址中直接輸入資料, 那就可以直接使用「$_REQUEST[“參數名稱”]」來接收資料, 此時, 分辨資料是來自查詢字串或表單的任務就交給PHP Engine來處理, 不過這樣將會比較消耗系統資源!
  • 「$_REQUEST」、「$_GET」、「$_POST」皆為陣列變數, 而且都是字串註標索引的陣列。


沒有留言:

張貼留言