PHP 验证示例
必填字段将检查字段是否以正确的方式填充。在大多数情况下,我们会使用 ***** 符号来表示必填字段。
什么是验证
验证意味着检查用户提交的输入。PHP中有两种类型的验证。它们如下:
- 客户端验证 - 验证是在客户端机器的Web浏览器上执行的。
-
服务器端验证 - 在数据提交后,数据会被发送到服务器并在服务器机器上执行验证检查。
一些字段的验证规则
字段 | 验证规则 |
---|---|
Name | 必须包含字母和空格 |
必须包含 @ 和 . | |
Website | 必须是一个有效的URL |
Radio | 必须至少能选择一次 |
Check Box | 必须至少能选中一次 |
Drop Down menu | 必须至少能选择一次 |
有效的URL
以下代码显示URL的验证。
$website = input($_POST["site"]); if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = "Invalid URL"; }
上述语法将验证给定的URL是否有效。它应该允许一些关键字,如https,ftp,www,a-z,0-9等。
有效的电子邮件
下面的代码演示了电子邮件地址的验证。
$email = input($_POST["email"]); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Invalid format and please re-enter valid email"; }
上述语法将验证给定的电子邮件地址是否格式正确。如果不正确,将显示错误消息。
示例
下面的示例显示了带有必填字段验证的表单
<html> <head> <style> .error {color: #FF0000;} </style> </head> <body> <?php // define variables and set to empty values 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"]); // check if e-mail address is well-formed if (!filter_var(email, FILTER_VALIDATE_EMAIL)) {emailErr = "Invalid email format"; } } 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"]); } } function test_input(data) {data = trim(data);data = stripslashes(data);data = htmlspecialchars(data); returndata; } ?> <h2>Absolute classes registration</h2> <span class = "error">* required field.</span> <form method = "post" action = "<?php echo htmlspecialchars(_SERVER["PHP_SELF"]);?>"> <table> <tr> <td>Name:</td> <td><input type = "text" name = "name"> <span class = "error">* <?php echonameErr;?></span> </td> </tr> <tr> <td>E-mail: </td> <td><input type = "text" name = "email"> <span class = "error">* <?php echo emailErr;?></span> </td> </tr> <tr> <td>Time:</td> <td> <input type = "text" name = "website"> <span class = "error"><?php echowebsiteErr;?></span> </td> </tr> <tr> <td>Classes:</td> <td> <textarea name = "comment" rows = "5" cols = "40"></textarea></td> </tr> <tr> <td>Gender:</td> <td> <input type = "radio" name = "gender" value = "female">Female <input type = "radio" name = "gender" value = "male">Male <span class = "error">* <?php echo genderErr;?></span> </td> </tr> <td> <input type = "submit" name = "submit" value = "Submit"> </td> </table> </form> <?php echo "<h2>Your given values are as:</h2>"; echoname; echo "<br>"; echo email; echo "<br>"; echowebsite; echo "<br>"; echo comment; echo "<br>"; echogender; ?> </body> </html>
它将产生以下结果 −
版权声明:本页面内容旨在传播知识,为用户自行发布,若有侵权等问题请及时与本网联系,我们将第一时间处理。E-mail:284563525@qq.com