如何使PHP验证表单中的下拉菜单显示“ *必填字段”错误消息?

泰勒·罗伊(Taylor Roy)

我使用PHP创建了一个表单。该表单需要进行验证,并且适用于除“评价我们的网站”下拉菜单之外的所有字段。我在其他问题(姓名,电子邮件等)的表单中使用了相同的代码作为“对我们的网站评分”下拉菜单,但是当用户将其留空时,“ *必填字段”消息不会出现。当用户将其保留为空白时,我需要像其他错误消息一样显示该错误消息。我怎样才能解决这个问题?这是我的代码:

<!DOCTYPE HTML> 
<html>
<head>
<title>Roy Feedback Form Assignment 7</title>
<style> .error {color: #FF0000;} </style>
</head>
<body> 

<?php
// define variables and set to empty values
$nameErr = $emailErr = $commentErr = $likesErr = $howErr = $rateErr = "";
$name = $email = $comment = $likes = $how = $rate = "";


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["comment"])) {
 $commentErr = "Comments are required";
} else {
 $comment = test_input($_POST["comment"]);
}

if (empty($_POST["likes"])) {
 $likesErr = "Things you liked is required";
} else {
 $likes = test_input($_POST["likes"]);
}

if (empty($_POST["how"])) {
 $howErr = "How you got to our site is required";
} else {
 $how = test_input($_POST["how"]);
}

if (empty($_POST["rate"])) {
 $rateErr = "Rating our site is required";
} else {
 $rate = test_input($_POST["rate"]);
}
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>

<h2>Roy Feedback Form Assignment 7</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 

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>

Comment: <textarea name="comment" rows="5" cols="40"></textarea>
<span class="error">* <?php echo $commentErr;?></span>
<br><br>

Things you liked:
<input type="radio" name="likes" value="Site design">Site design
<input type="radio" name="likes" value="Links">Links
<input type="radio" name="likes" value="Ease of use">Ease of use
<input type="radio" name="likes" value="Images">Images
<input type="radio" name="likes" value="Source code">Source code
<span class="error">* <?php echo $likesErr;?></span>
<br><br>

How you got to our site:
<input type="radio" name="how" value="Search engine">Search engine
<input type="radio" name="how" value="Links from another site">Links from another site
<input type="radio" name="how" value="Deitel.com website">Deitel.com website
<input type="radio" name="how" value="Reference from a book">Reference from a book
<input type="radio" name="how" value="Other">Other
<span class="error">* <?php echo $howErr;?></span>
<br><br>

Rate our site:
<select name="rate">
<option value="">- Please Select -</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<span class="error">* <?php echo $rateErr;?></span>
</select>
<br/><br/>

<input type="submit" name="submit" value="Submit"> 

</form>

<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $comment;
echo "<br>";
echo $likes;
echo "<br>";
echo $how;
echo "<br>";
echo $rate;
?>

</body>
</html>

非常感谢大家的帮助!非常感谢。

isuPatches

跨度

<span class="error">* <?php echo $rateErr;?></span>

在select内...我敢打赌,如果您检查了该元素,则该元素的确显示为不可见,因为它不在<option>标记中。尝试将其移到外面。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

表单错误-必填字段

来自分类Dev

StrongLoop验证错误和必填字段

来自分类Dev

jQuery 验证插件 - 所有必填字段的一条错误消息

来自分类Dev

必填字段时,不显示AngularJS验证消息

来自分类Dev

必填字段验证

来自分类Dev

面板内的必填字段会导致验证错误

来自分类Dev

带有必填字段的Rails下拉菜单

来自分类Dev

Bootstrap 3-表格-必填字段-下拉菜单

来自分类Dev

Bootstrap 3-表格-必填字段-下拉菜单

来自分类Dev

Rails下拉菜单,其中包含必填字段

来自分类Dev

Django中必填字段为空时的表单验证错误

来自分类Dev

基于从MVC中的应用程序选择语言的必填字段验证消息的本地化

来自分类Dev

来自KendoUI下拉列表/ EditorTemplates的验证消息让我感到迷惑(设置字段时为“必填字段!”)-如何解决?

来自分类Dev

在 ASP.NET MVC 中,如何在不复制/粘贴的情况下为类中的所有必填字段设置一条错误消息?

来自分类Dev

使表单字段为必填字段

来自分类Dev

如何在HTML页面上回显此PHP“必填字段”消息?

来自分类Dev

必填字段为空时如何在 Excel 中创建警告消息

来自分类Dev

表单中的动态必填字段

来自分类Dev

用户表单中的必填字段

来自分类Dev

如何防止提交但仍验证必填字段?

来自分类Dev

ZF2如何在必填字段为空时设置消息?

来自分类Dev

ZF2如何在必填字段为空时设置消息?

来自分类Dev

如何使vTiger中的必填字段无效?

来自分类Dev

使用JQuery提交表单-必填字段

来自分类Dev

Symfony Dependance 必填字段的表单

来自分类Dev

禁用必填字段验证器

来自分类Dev

必填字段的验证功能更短

来自分类Dev

NodeJS,猫鼬:必填字段验证

来自分类Dev

必填字段上的Javascript / Jquery验证

Related 相关文章

  1. 1

    表单错误-必填字段

  2. 2

    StrongLoop验证错误和必填字段

  3. 3

    jQuery 验证插件 - 所有必填字段的一条错误消息

  4. 4

    必填字段时,不显示AngularJS验证消息

  5. 5

    必填字段验证

  6. 6

    面板内的必填字段会导致验证错误

  7. 7

    带有必填字段的Rails下拉菜单

  8. 8

    Bootstrap 3-表格-必填字段-下拉菜单

  9. 9

    Bootstrap 3-表格-必填字段-下拉菜单

  10. 10

    Rails下拉菜单,其中包含必填字段

  11. 11

    Django中必填字段为空时的表单验证错误

  12. 12

    基于从MVC中的应用程序选择语言的必填字段验证消息的本地化

  13. 13

    来自KendoUI下拉列表/ EditorTemplates的验证消息让我感到迷惑(设置字段时为“必填字段!”)-如何解决?

  14. 14

    在 ASP.NET MVC 中,如何在不复制/粘贴的情况下为类中的所有必填字段设置一条错误消息?

  15. 15

    使表单字段为必填字段

  16. 16

    如何在HTML页面上回显此PHP“必填字段”消息?

  17. 17

    必填字段为空时如何在 Excel 中创建警告消息

  18. 18

    表单中的动态必填字段

  19. 19

    用户表单中的必填字段

  20. 20

    如何防止提交但仍验证必填字段?

  21. 21

    ZF2如何在必填字段为空时设置消息?

  22. 22

    ZF2如何在必填字段为空时设置消息?

  23. 23

    如何使vTiger中的必填字段无效?

  24. 24

    使用JQuery提交表单-必填字段

  25. 25

    Symfony Dependance 必填字段的表单

  26. 26

    禁用必填字段验证器

  27. 27

    必填字段的验证功能更短

  28. 28

    NodeJS,猫鼬:必填字段验证

  29. 29

    必填字段上的Javascript / Jquery验证

热门标签

归档