題目也就是做個和示範差不多一個意思的了,給的提示應該是很充分的,包括各種函數都有。
在PHP 檢查表單是否提交的兩種方法中提到了如何檢測提交,利用這個方法我們就可以節省一個HTML檔案了。
$_POST是一個數組(超全域變數),如果頁面的請求方式是POST,在這個數組裡就會存上相應的內容,
empty()函數以前有講過,還有一個isset()的區別文章後面也介紹過
然後基本上就很易懂了
源碼:
| 代碼如下 |
複製代碼 |
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>註冊系統</title> </head> <body> <?php if ($_SERVER['REQUEST_METHOD'] !== 'POST') { ?> <h2>註冊</h2> <form action="form-post.php" method="post"> 使用者名稱:<input type="text" name="username"><br/> 密碼<input type="password" name="password"><br/> <input type="checkbox" name="agree">同意許可協議<br/> <input type="submit" name="submit" value="提交"> </form> <?php } else { $problem = FALSE; if (empty($_POST['username'])) { echo '請輸入使用者名稱<br/>'; $problem = TRUE; } if (empty($_POST['password'])) { echo '請輸入密碼<br/>'; $problem = TRUE; } if (empty($_POST['agree'])) { echo '您必須先同意許可協議<br/>'; $problem = TRUE; } if (!$problem) { echo '<h2>註冊成功</h2>'; echo '歡迎' . $_POST['username'] . '你已成功註冊,你的密碼是' . $_POST['password']; } } ?> </body> </html> |
關於
empty()函數參數是非或非零的值,則empty()返回FALSE:
"",0,"0",NULL,FALSE,array(),var $var都被認為是空,如果函數為空白,則返回TRUE。
isset()參數存在,則返回TRUE,否則返回FALSE,如果使用isset()測試一個被設定成NULL的變數或者使用unset()釋放了一個變數,則返回FALSE。
複習:NULL位元組("")並不等同於PHP的NULL函數。
註:判斷一個變數存在且不為空白:!empty($var) - 推薦