【问题标题】:how to check email in php?如何在php中检查电子邮件?
【发布时间】:2016-10-22 22:00:12
【问题描述】:

我昨晚尝试在添加到我的数据库之前检查电子邮件域,例如,如果有人写 hotmail.c,我想添加@hotmail.com,我必须拒绝它才能将其添加到我的数据库中。

这是我的代码 php:

<?PHP
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['password'])){
include_once("connection12.php");
    $email1 = $_POST['email'];
     $SQL = "SELECT email FROM registration WHERE email = '$email1'";
      $result = mysql_query($SQL);
     $num_rows = mysql_num_rows($result);

   if ($num_rows > 0) {

     echo "email already taken";

     }
else{
            $name = $_POST['name'];
        $email = $_POST['email'];
        $password = $_POST['password'];
mysql_query("insert into registration(name, email, password) values('$name', '$email', '$password')");
      echo "Data Submit Successfully";
        }         
   }
 ?>

【问题讨论】:

  • U van 使用 FILTER_VALIDATE_EMAIL if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) { echo("$email is a valid email address");}else{echo "not valid";}
  • 您的代码对 SQL 注入开放,使用准备好的语句,注意 mysql_* 在 PHP 7 中关闭
  • 我希望你现在得到解决方案
  • 谢谢,我知道了。

标签: php email


【解决方案1】:

要验证有效的电子邮件地址,您可以使用FILTER_VALIDATE_EMAIL

FILTER_VALIDATE_EMAIL 过滤器验证电子邮件地址。

基本示例:

if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) { 
// insert record
}
else{
echo "not valid email";
}

最重要的是,mysql_* 在 PHP 7 中已被弃用并关闭。

并且您的代码对 SQL 注入是开放的,以防止您可以使用准备好的语句进行 SQL 攻击。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-05
    • 2011-12-02
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多