2016-10-22 6 views
0

나는 내 데이터베이스에 추가하기 전에 전자 메일 도메인을 확인하기 위해 마지막 밤을 보았습니다. 예를 들어 hotmail.com을 추가하려면 @ hotmail.com을 추가하고 싶습니다. 데이터베이스에 추가하려면 hotmail.c를 반드시 써야합니다.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) === 거짓!)는 다른 { "유효하지 않습니다"에코;}' – 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 주입에 대해 열려있다 준비된 진술.

관련 문제