PHP表單-必需欄位
本章節我們將介紹如何設定表單必需欄位及錯誤資訊。
PHP – 必需欄位
在上一章節我們已經介紹了表的驗證規則,我們可以看到”Name”, “E-mail”, 和 “Gender” 欄位是必須的,各欄位不能為空。
欄位 | 驗證規則 |
---|---|
Name | 必需。 + 只能包含字母和空格 |
必需。 + 必需包含一個有效的電子郵件地址(包含”@”和”.”) | |
Website | 可選。 如果存在,它必須包含一個有效的URL |
Comment | 可選。多行欄位(文字域)。 |
Gender | 必需。 Must select one |
如果在前面的章節中,所有輸入欄位都是可選的。
在以下程式碼中我們加入了一些新的變數: $nameErr, $emailErr, $genderErr, 和 $websiteErr.。這些錯誤變數將顯示在必須欄位上。 我們還為每個$_POST變數增加了一個if else語句。 這些語句將檢查 $_POST 變數是 否為空(使用php的 empty() 函式)。如果為空,將顯示對應的錯誤資訊。 如果不為空,資料將傳遞給test_input() 函式:
// 定義變數並預設設為空值
$nameErr = $emailErr = $genderErr = $websiteErr = “”;
$name = $email = $gender = $comment = $website = “”;
if ($_SERVER[“REQUEST_METHOD”] == “POST”)
{
if (empty($_POST[“name”]))
{$nameErr = “Name is required”;}
else
{$name = test_input($_POST[“name”]);}
if (empty($_POST[“email”]))
{$emailErr = “Email is required”;}
else
{$email = test_input($_POST[“email”]);}
if (empty($_POST[“website”]))
{$website = “”;}
else
{$website = test_input($_POST[“website”]);}
if (empty($_POST[“comment”]))
{$comment = “”;}
else
{$comment = test_input($_POST[“comment”]);}
if (empty($_POST[“gender”]))
{$genderErr = “Gender is required”;}
else
{$gender = test_input($_POST[“gender”]);}
}
?>
PHP – 顯示錯誤資訊
在以下的HTML例項表單中,我們為每個欄位中新增了一些指令碼, 各個指令碼會在資訊輸入錯誤時顯示錯誤資訊。(如果使用者未填寫資訊就提交表單則會輸出錯誤資訊):
例項
Name: <input type=”text” name=”name”>
<span class=”error”>* <?php echo $nameErr;?></span>
<br><br>
E-mail:
<input type=”text” name=”email”>
<span class=”error”>* <?php echo $emailErr;?></span>
<br><br>
Website:
<input type=”text” name=”website”>
<span class=”error”><?php echo $websiteErr;?></span>
<br><br>
<label>Comment: <textarea name=”comment” rows=”5″ cols=”40″></textarea>
<br><br>
Gender:
<input type=”radio” name=”gender” value=”female”>Female
<input type=”radio” name=”gender” value=”male”>Male
<span class=”error”>* <?php echo $genderErr;?></span>
<br><br>
<input type=”submit” name=”submit” value=”Submit”>
</form>
相關文章
- 表單required 必需驗證UI
- 共有的表單欄位屬性
- postgresql單個表可以有多少欄位SQL
- oracle刪除表欄位和oracle表增加欄位Oracle
- Laravel-admin 給表單追加欄位Laravel
- Laravel 依賴注入方式驗證表單欄位Laravel依賴注入
- SQL新增表欄位SQL
- Laravel 中關聯模型查詢 +with 預載入中 select 必需欄位Laravel模型
- Oracle中檢視所有表和欄位以及表註釋.欄位註釋Oracle
- mysql表最多欄位數MySql
- 泛微oa流程表單之明細表欄位通過文字輸入內容使另外一個欄位必填
- 修改表的欄位型別型別
- 表單請求 統一欄位不同場景不同處理
- [提問交流]模型欄位怎麼做成聯動表單的模型
- postgresql分割槽表修改資料表欄位SQL
- oracle檢視該使用者的所有表名字、表註釋、欄位名、欄位註釋、是否為空、欄位型別Oracle型別
- 將多個JSON欄位對映到單個Java欄位JSONJava
- MySQL 更新一個表裡的欄位等於另一個表某欄位的值MySql
- oracle 修改表欄位的長度Oracle
- Oracle-給表刪除欄位Oracle
- NRIV表欄位的設定使用
- [原創] mysql表欄位多少限定MySql
- SQLServer SYSPROCESSES表欄位解說明SQLServer
- lob欄位表空間遷移
- Laravel 自定義表單請求驗證忽略某些欄位驗證Laravel
- php表單提交PHP
- Elasticsearch 單字串多欄位查詢Elasticsearch字串
- mysqldump 欄位值帶單引號MySql
- sqlserver查詢一個庫所有表的欄位名及欄位型別SQLServer型別
- pl/sql dev建表加欄位時建的欄位名都帶了“”SQLdev
- sql2005 獲取表欄位資訊和檢視欄位資訊SQL
- PHP陣列多個欄位分別排序PHP陣列排序
- php去掉欄位文字的所有html標籤PHPHTML
- 推薦一個 Laravel-admin 表單欄位關聯的包Laravel
- 儲存單位表
- pydantic 欄位欄位校驗
- MySQL 更新同一個表不同欄位MySql
- 資料庫表欄位命名規範資料庫