PHP - PHP 中字段和消息的表单验证


PHP - Form validation of fields and messages in PHP

我想在将信息发送给我之前对其进行验证。例如,电子邮件地址上有一个@。

我有以下代码要介绍:姓名,姓氏和电子邮件。我验证了它们不是空的,但是:

  1. 如何向用户发送消息,让他们知道需要填写? 我试过:如果($nameErr == ''){echo "需要引入一个名字"}

但它不起作用

  1. 如何验证类型:确保电子邮件地址具有@或电话是数字且具有9位数字?

非常感谢

<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
<?php
// define variables and set to empty values
$nameErr = $emailErr = $surnameErr = "";
$name = $email = $surname = "";
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["surname"])) {
 $surname = "";
   } else {
 $surname = test_input($_POST["surname"]);
   }
}
function test_input($data) {
   $data = trim($data);
   $data = stripslashes($data);
   $data = htmlspecialchars($data);
   return $data;
}
?>
<h2>PHP Form Validation Example</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>
   Last Name: <input type="text" name="surname">
   <span class="error">*<?php echo $surnameErr;?></span>
   <br><br>
   E-mail: <input type="text" name="email">
   <span class="error">* <?php echo $emailErr;?></span>
   <br><br>
   <input type="submit" name="submit" value="Submit">
</form>

</body>
</html>

您实际上不需要自己编写所有验证代码。如果您使用像这样 http://respect.github.io/Validation/库会更方便。