PHP 表格 - 必填字段
本章介绍如何使输入字段成为必填字段,并在需要时创建错误消息。
PHP - 必填字段
从上一页的验证规则表中,我们看到“姓名”、“电子邮件”和“性别”字段是必填字段,这些字段不能为空,必须在 HTML 表单中填写。
场地 | 验证规则 |
---|---|
姓名 | 必填。+ 只能包含字母和空格 |
电子邮件 | 必填。+ 必须包含有效的电子邮件地址(带有 @ 和 .) |
网站 | 可选。如果存在,则必须包含有效的 URL |
评论 | 可选。多行输入字段(textarea) |
性别 | 必填。必须选择一个 |
在上一章中,所有输入字段都是可选的。
在以下代码中,我们添加了一些新变量:$nameErr、$emailErr、$genderErr 和 $websiteErr。这些错误变量将保存必填字段的错误消息。我们还添加了一个 if else
语句检查每个 $_POST 变量。这将检查 $_POST 变量是否为空(使用 PHPempty()
函数)。如果为空,则将错误消息存储在不同的错误变量中,如果不为空,则通过test_input()
功能:
<?php
// 定义变量并设置为空值
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
如果 ($_SERVER["REQUEST_METHOD"] == "POST") {
如果 (空 ($_POST["name"])) {
$nameErr = "名称是必需的";
} 别的 {
$名称 = 测试输入($_POST["名称"]);
}
如果(空($_POST["email"])){
$emailErr = "需要电子邮件";
} 别的 {
$email = 测试输入($_POST["email"]);
}
如果 (空 ($_POST["website"])) {
$网站 = “”;
} 别的 {
$website = 测试输入($_POST["website"]);
}
如果(空($_POST["评论"])){
$评论 = “”;
} 别的 {
$评论 = test_input($_POST["评论"]);
}
如果(空($_POST["性别"])){
$genderErr = "性别是必填项";
} 别的 {
$性别 = 测试输入($_POST["性别"]);
}
}
?>
PHP - 显示错误消息
然后在 HTML 表单中,我们在每个必填字段后添加一个小脚本,如果需要,它会生成正确的错误消息(即,如果用户尝试提交表单而没有填写必填字段):
例子
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?> “>
姓名:<input type="text" name="name">
<span class="error">*</span><?php echo $nameErr;?>
<br><br>
电子邮件:
<input type="text" name="email">
<span class="error">*</span><?php echo $emailErr;?>
<br><br>
网站:
<input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
评论:<textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
性别:
<input type="radio" name="gender" value="female">女性
<input type="radio" name="gender" value="male">男性
<input type="radio" name="gender" value="other">其他
<span class="error">*</span><?php echo $genderErr;?>
<br><br>
<input type="submit" name="submit" value="提交">
</form>
运行示例 »
下一步是验证输入数据,即“名称字段是否仅包含字母和空格?”,“电子邮件字段是否包含有效的电子邮件地址语法?”,如果填写,则“网站字段是否包含有效的 URL?”。