当用户想要注册时,我想集成FILTER_VALIDATE_EMAIL过滤器。
我有这个输入:
<input type="text" name="email" maxlength="255" />
代码的某些部分:
- $email=strip_tags(mysql_real_eescape_string($_POST['email']))
- $email2=mysql_query("SELECT*FROM users WHERE
email
='{$email}'")
这个:
if(mysql_num_rows($email2) == 1)
{
echo "This email address is already in used.";
}
如果你需要更多的代码,请告诉我。谢谢
这是我第一次使用MySQL,请注意
或者其他验证电子邮件的方法,ofc。
尝试以下代码:
$email = strip_tags(mysql_real_escape_string($_POST['email']));
if(filter_var($email, FILTER_VALIDATE_EMAIL)) { // Email is valid
$result = mysql_query("SELECT * FROM users WHERE email = '{$email}'");
if(mysql_num_rows($result)) {
echo "This email address is already in used.";
}
} else {
echo "E-mail is not valid";
}
$email_a = 'mail_check@hotmail.com';
if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
echo "This (email_a) email address is considered valid.";
//reported as valid
} else {<br />
echo "This email is invalid";
}
这是具有指定筛选器(filter_VALIDATE_EMAIL)用法的filter_var函数的示例。。
如何使用的示例:
$email = "someone@example.com";
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
echo "E-mail is not valid";//Handle not valid email
}else{
$result = mysql_query("SELECT * FROM users WHERE email = '{$email}'");
//handle $result of DB
}
来自手动
附带说明:从PHP 5.5.0开始,Mysql_*扩展已被弃用,将来将被删除。相反,应该使用MySQLi或PDO_MySQL扩展。
一个有用的链接为什么我不应该在PHP 中使用mysql_*函数