| PHP 表单 - 必需字段 PHP - 必需字段在上一章节我们已经介绍了表的验证规则,我们可以看到"名字", "E-mail", 和 "性别" 字段是必需的,各字段不能为空。 字段 | 验证规则 | | 名字 | 必需。 + 只能包含字母和空格 | | E-mail | 必需。 + 必需包含一个有效的电子邮件地址(包含"@"和".") | | 网址 | 可选。 如果存在,它必需包含一个有效的URL | | 备注 | 可选。多行字段(文本域)。 | | 性别 | 必需。必需选择一个。 |
在以下代码中我们加入了一些新的变量: $nameErr, $emailErr, $genderErr, 和 $websiteErr.。这些错误变量将显示在必需字段上。 我们还为每个$_POST变量增加了一个if else语句。 这些语句将检查 $_POST 变量是 否为空(使用php的 empty() 函数)。如果为空,将显示对应的错误信息。 如果不为空,数据将传递给test_input() 函数: <? php // 定义变量并默认设为空值 $nameErr = $emailErr = $genderErr = $websiteErr = "" ; $name = $email = $gender = $comment = $website = "" ; if ( $_SERVER [ "REQUEST_METHOD" == "POST" ) { if ( empty ( $_POST [ "name" ])) { $nameErr = "名字是必需的。" ; } else { $name = test_input ( $_POST [ "name" ]); } if ( empty ( $_POST [ "email" ])) { $emailErr = "邮箱是必需的。" ; } 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 = "性别是必需的。" ; } else { $gender = test_input ( $_POST [ "gender" ]); } } ?> PHP - 显示错误信息在以下的HTML实例表单中,我们为每个字段中添加了一些脚本, 各个脚本会在信息输入错误时显示错误信息。(如果用户未填写信息就提交表单则会输出错误信息): <form method="post" action=" <? php echo htmlspecialchars ( $_SERVER [ 'PHP_SELF' ]);?> "> 名字: <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> 网址: <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" > 男 <span class = "error" > * <? php echo $genderErr ;?> </span> <br><br> <input type = "submit" name = "submit" value = "Submit" > </form> |