php使用过滤器和验证插入数据

php使用过滤器和验证插入数据,php,html,Php,Html,我有一个数据库,我想确保字段不是空的,如果不是空的话,我想用这个经过消毒的函数将它们保存到数据库中。所以,在填充和清理字段后,我想将它们保存到数据库中 <?php // Initialize variables to null. $nameError =""; $emailError =""; // On submitting form below function will execute. if(isse

我有一个数据库,我想确保字段不是空的,如果不是空的话,我想用这个经过消毒的函数将它们保存到数据库中。所以,在填充和清理字段后,我想将它们保存到数据库中

<?php
// Initialize variables to null.
$nameError ="";
$emailError ="";

                    // On submitting form below function will execute.
                    if(isset($_POST['submit'])){
                            if (empty($_POST["name"])) {
                                $nameError = "Name is required";
                                } else {
                                $name = test_input($_POST["name"]);
                                // check name only contains letters and whitespace
                                if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
                                $nameError = "Only letters and white space allowed";
                            }
                            }

                    if (empty($_POST["email"])) {
                        $emailError = "Email is required";
                        } else {
                        $email = test_input($_POST["email"]);
                        // check if e-mail address syntax is valid or not
                        if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
                        $emailError = "Invalid email format";
                    }
                    }   


}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
//php code ends here
?>

<!DOCTYPE html>
<html>
<head>
<title>Form Validation with PHP - Demo Preview</title>
<meta content="noindex, nofollow" name="robots">
<!--<link href="style.css" rel="stylesheet">-->
</head>
<body>
<div class="maindiv">
<div class="form_div">
<div class="title">
<h2>Form Validation with PHP.</h2>
</div>
<form action="index.php" method="post">
<h2>Form</h2>
<span class="error">* required field.</span><br/>
Name:
<input class="input" name="name" type="text" value=""><br/>
<span class="error">* <?php echo $nameError;?></span><br/>
E-mail:
<input class="input" name="email" type="text" value=""><br/>
<span class="error">* <?php echo $emailError;?></span><br/>

<input class="submit" name="submit" type="submit" value="Submit">
</form>
</div>
</body>
</html>

使用PHP进行表单验证-演示预览
使用PHP进行表单验证。
形式
*必填字段。
姓名:
*
电邮:
*

html端: 为了检查输入,如姓名和电子邮件,我建议在输入标签上使用html属性
required
。此外,您还可以利用输入类型,如
电子邮件

<input name="name" type="name" required>
<input name="email" type="email" required>

在html中,在提交表单期间检查您是否输入了值。如果没有值,则会出现警告提示,并告诉您该值是必需的

in-input标记验证用户输入是否具有电子邮件的正确格式

php端: 您的清理方法和验证没有问题,但是如果您正在寻找关于表单验证的最佳实现,我建议使用函数或更好的函数,将其添加到表单验证程序类中。这里有一个好的验证器类的简单示例:


您可以根据自己的偏好创建自己的类,当然您也可以体验在代码中使用的优点。

谢谢您的建议,但我需要php方面的帮助,我知道html require属性,但它不安全。。。谢谢你,贝斯特regards@FAMO_php,您所说的关于在html端使用卫生设施的风险是正确的,因为html脚本可以在浏览器上操作。。稍后我将添加另一个关于php卫生的建议。非常感谢Arulkumar,非常好的代码和帮助。顺致敬意,