-1

当用户想要注册时,我想集成 FILTER_VALIDATE_EMAIL 过滤器。

我有这个输入:

<input type="text" name="email" maxlength="255" />

部分代码:

  • $email = strip_tags(mysql_real_escape_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。

4

3 回答 3

0

一个如何使用的例子:

$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
}

从手册

作为旁注:Mysql_* 扩展自 PHP 5.5.0 起已弃用,并将在未来删除。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。

一个有用的链接为什么我不应该在 PHP 中使用 mysql_* 函数

于 2013-09-02T18:04:15.833 回答
0

尝试以下代码:

$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";
}
于 2013-09-02T18:05:07.343 回答
0
$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 函数的示例。

于 2013-09-02T18:08:59.647 回答