UserEmail的验证在php中不起作用
我将验证POST变量userEmail。但问题是,即使我使用filter_var进行验证,它也无法工作,即使输入了错误的电子邮件,反而被插入。你能帮我找到解决办法吗 插入_dummy.phpUserEmail的验证在php中不起作用,php,html,mysql,Php,Html,Mysql,我将验证POST变量userEmail。但问题是,即使我使用filter_var进行验证,它也无法工作,即使输入了错误的电子邮件,反而被插入。你能帮我找到解决办法吗 插入_dummy.php 除了使用不推荐的代码与MySQL交互之外,还插入了记录,因为尽管电子邮件验证工作正常,但代码的其余部分仍在执行 如果你插入一个模具;或将用户重定向到错误页,则不会创建记录 $userEmail=mysql_real_escape_string($_POST['userEmail']); if(!filter
除了使用不推荐的代码与MySQL交互之外,还插入了记录,因为尽管电子邮件验证工作正常,但代码的其余部分仍在执行 如果你插入一个模具;或将用户重定向到错误页,则不会创建记录
$userEmail=mysql_real_escape_string($_POST['userEmail']);
if(!filter_var($userEmail, FILTER_VALIDATE_EMAIL))
{
echo "Please Enter The Valid Email Address";
exit();
// Or add a redirection here
}
可以考虑使用标志变量$Value.< 请更换这个
if(!filter_var($userEmail, FILTER_VALIDATE_EMAIL))
{
echo "Please Enter The Valid Email Address";
}
有以下几点
$userEmail=mysql_real_escape_string($_POST['userEmail']);
$email = (preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/', $userEmail))?$userEmail:"invalid email";
if($email == "invalid email")
{
echo "Please Enter The Valid Email Address";
return;
}
不要使用不推荐使用且不安全的mysql函数。自2013年PHP 5.5以来,它们一直被弃用,并于2015年在PHP 7中被完全删除。改用MySQLi或PDO。据我所知,如果电子邮件无效,除了回显字符串之外,您实际上没有做任何其他事情。在此之后脚本仍在继续..永远不要以明文形式存储密码!。只存储密码哈希!使用PHP的和。如果您运行的PHP版本低于5.5,我真的希望您不是,那么您可以使用来获得相同的功能。
if(!filter_var($userEmail, FILTER_VALIDATE_EMAIL))
{
echo "Please Enter The Valid Email Address";
}
$userEmail=mysql_real_escape_string($_POST['userEmail']);
$email = (preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/', $userEmail))?$userEmail:"invalid email";
if($email == "invalid email")
{
echo "Please Enter The Valid Email Address";
return;
}