Board logo

標題: 10-2-3 資料欄位驗證 [打印本頁]

作者: 小誌    時間: 2011-4-22 02:41     標題: 10-2-3 資料欄位驗證

10-2-3   資料欄位驗證
當連線的瀏覽者於「加入會員」表單中填寫好相關資料,按下「線上新增」按鈕之後,填寫好的資料將交由記錄以及處理新增會員資料的PHP程式「addin.php」,來寫入資料庫檔案,填寫好的資料寫入資料庫之前,我們必須先驗證連線的瀏覽者在「加入會員」表單中各個欄位中是否都有填寫資料。

若「加入會員」表單中的欄位有未填入資料而留白者,將不予接受,不但資料不會寫入資料庫檔案,而且將產生一段錯誤訊息於網頁中,我們以未填寫密碼欄位為例,如下圖:
[attach]5718[/attach]
圖10-10   密碼欄位沒輸入資料。
作者: 小誌    時間: 2011-4-22 02:41

在「加入會員」表單中共有四個欄位必須資料驗證,分別是Name(尊姓大名)、Email(E-mail)、ID(登入名稱)與Password(登入密碼)等四個欄位,當我們的記錄以及處理新增會員資料的PHP程式addin.php,接收到來自「加入會員」表單的欄位資料後,只要透過「If」判斷敘述來驗證欄位資料內容是否為「Empty」就可知道資料欄位內容是否留白,若資料欄位內容留白則呼叫「msg」函數來產生一個錯誤訊息的網頁。
  1. /判斷欄位資料是否為空白
  2. //若欄位資料空白則呼叫msg副程式
  3. if (empty($_REQUEST["Name"]))
  4. {
  5. msg("您忘記輸入大名啦!!");
  6. }
  7. else if(empty($_REQUEST["Email"]))
  8. {
  9. msg(!"您忘記輸入E-Mail啦!!");
  10. }
  11. else if(empty($_REQUEST["ID"]))
  12. {
  13. msg("您忘記填寫登入名稱啦!!");
  14. }
  15. else if(empty($_REQUEST["Password"]))
  16. {
  17. msg("您忘記填寫登入密碼啦!!");
  18. }
  19. else
  20. {
  21. //接收來自『加入會員』表單中的欄位資料
  22. $Name = $_REQUEST["Name"];
  23. $Email = $_REQUEST["Email"];
  24. $ID = $_REQUEST["ID"];
  25. $Password = $_REQUEST["Password"];
  26. }
複製代碼

作者: 小誌    時間: 2011-4-22 02:42

當「If」判斷敘述驗證欄位資料內容為「Empty」,也就是說資料欄位內容是留白時,則呼叫「msg」副程式來產生一個錯誤訊息的網頁,「msg」副程式非常簡短,不過,呼叫「msg」副程式的同時,必須傳給「msg」副程式一個錯誤訊息字串參數,這個錯誤訊息字串參數將顯示在錯誤訊息的網頁中。

現在,我們來看看「msg」函數是如何來產生一個錯誤訊息的網頁:
  1. <?
  2. function msg($info)
  3. {
  4. ?>
  5.    <CENTER>
  6.    <H2><Font Color=red><?=$info?><HR size="1" color="#FF0066">
  7.    <FORM>
  8.    <INPUT Type=Button Value="上一頁" OnClick="history.back();">
  9.    </FORM>
  10.    </CENTER>
  11.    </font>
  12. <?
  13. exit();   
  14. }
  15. ?>
複製代碼
當「msg」函數被呼叫時,將輸出一段網頁HTML敘述(上列粗體字部分的區段),同時,「If」判斷敘述將呼叫「msg」副程式所傳來的錯誤訊息字串參數內容(info)加到網頁HTML敘述中顯示出來,然後執行「exit();」敘述終止程式的執行。




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