2016-10-22 18 views
0

私は自分のデータベースに追加する前に最後の夜に電子メールドメインをチェックしようとしました。たとえば、hotmail.cを追加する場合は@ hotmail.comを追加します。PHPで電子メールをチェックする方法は?

これは私のコードの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"; 
     }   
    } 
?> 
+1

UバンFILTER_VALIDATE_EMAIL '(もし!にfilter_var($メール、FILTER_VALIDATE_EMAIL)=== false)を使用し、{ エコー( "$メールが有効な電子メールアドレスです");}他{ "無効" エコー;}' – devpro

+0

あなたのコードはSQLインジェクション用に用意されており、準備されたステートメントを使用しており、mysql_ *はPHP 7で閉じられています。 – devpro

+0

私は今、解決策を得ていることを願っています – devpro

答えて

0

有効なメールアドレスを検証するためのあなたは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インジェクションのために開放されています準備されたステートメント。

関連する問題