Home > Article > Backend Development > Form validation that you must learn every day in PHP programming_php skills
The example in this article explains the implementation method of PHP form verification and shares it with everyone for your reference. The specific content is as follows
1.PHP form processing
welcome.html
<html> <body> <form action="welcome.php" method="post"> Name: <input type="text" name="name"><br> E-mail: <input type="text" name="email"><br> <input type="submit"> </form> </body> </html>
welcome.php
<html> <body> <!--PHP 超全局变量 $_GET 和 $_POST 用于收集表单数据(form-data)--> Welcome <?php echo $_POST["name"]; ?><br> Your email address is: <?php echo $_POST["email"]; ?> </body> </html>
2. Complete example of PHP form verification
<html> <head> </head> <body> <?php // 定义变量并设置为空值 $nameErr = $emailErr = $websiteErr = ""; $name = $email = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "姓名是必填的"; } else { $name = test_input($_POST["name"]); // 检查姓名是否包含字母和空白字符 //preg_match() 函数检索字符串的模式,如果模式存在则返回 true,否则返回 false。 if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "只允许字母和空格"; } } if (empty($_POST["email"])) { $emailErr = "电邮是必填的"; } else { $email = test_input($_POST["email"]); // 检查电子邮件地址语法是否有效 if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "无效的 email 格式"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); // 检查 URL 地址语法是否有效(正则表达式也允许 URL 中的斜杠) if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = "无效的 URL"; } } } function test_input($data) { //去除用户输入数据中不必要的字符(多余的空格、制表符、换行) $data = trim($data); //删除用户输入数据中的反斜杠(\) $data = stripslashes($data); //把特殊字符转换为 HTML 实体 $data = htmlspecialchars($data); return $data; } ?> <h2>PHP 验证实例</h2> <p><span class="error">* 必需的字段</span></p> <!--htmlspecialchars() 函数把特殊字符转换为 HTML 实体。--> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <!--value:保留表单中的值--> 姓名:<input type="text" name="name" value="<?php echo $name;?>"> <span class="error">* <?php echo $nameErr;?></span> <br><br> 邮箱:<input type="text" name="email" value="<?php echo $email;?>"> <span class="error">* <?php echo $emailErr;?></span> <br><br> 网址:<input type="text" name="website" value="<?php echo $website;?>"> <span class="error"><?php echo $websiteErr;?></span> <br><br> <input type="submit" name="submit" value="提交"> </form> <?php echo "<h2>您的输入:</h2>"; echo $name; echo "<br>"; echo $email; echo "<br>"; echo $website; echo "<br>"; ?> </body> </html>
I hope this article will be helpful to everyone learning PHP programming.