我正在尝试使用 filter_var 使电子邮件通过验证。但是,如果电子邮件无效,我不确定如何防止脚本将表单数据处理到我的数据库中。
我有
$email = $_POST['email'];
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
echo("$email is a valid email address");
} else {
echo("$email is not a valid email address");
exit();
}
电子邮件显然来自用户输入的内容,并且位于 $_POST 变量中。该脚本确实将电子邮件显示为有效或无效,但它仍然处理脚本并将表单数据放入我的数据库中。我认为放置“exit()”将是解决此问题的方法,或者是在它无效时处理的正确方法。它只是打开一个显示回显打印的新页面。
我错过了什么或做错了什么?理想情况下,我希望表单字段突出显示并给用户一些指示,表明他们输入了格式不正确的电子邮件地址(尽管我知道这是一个不同的主题,有点花里胡哨的东西),但我当然会不想让脚本将数据处理到我的数据库中。