2016-10-22 2 views
0

Ich habe letzte Nächte versucht, E-Mail-Domain zu überprüfen, bevor ich zu meiner Datenbank hinzugefügt, zum Beispiel möchte ich @ hotmail.com hinzufügen, wenn jemand hotmail.c schreiben Ich muss das ablehnen, um es in meiner Datenbank hinzuzufügen.wie man E-Mails in PHP überprüft?

dies ist mein Code 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 van verwenden FILTER_VALIDATE_EMAIL 'if { echo ("$ email ist eine gültige E-Mail-Adresse");} (filter_var ($ email, FILTER_VALIDATE_EMAIL) === falsch!) Else {echo "ungültig";}' – devpro

+0

Ihr Code ist offen für SQL Injection verwenden Sie vorbereitete Anweisungen und beachten Sie, dass mysql_ * in PHP 7 – devpro

+0

geschlossen ist Ich hoffe, Sie haben jetzt die Lösung – devpro

Antwort

0

Für die gültige E-Mail-Adresse Validierung können Sie FILTER_VALIDATE_EMAIL

Der FILTER_VALIDATE_EMAIL Filter prüft eine E-Mail-Adresse verwenden.

Basic-Beispiel:

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

Am wichtigsten ist, mysql_ * ist veraltet und geschlossen in Php 7.

Und Ihr Code für SQL-Injection offen für den SQL-Angriff zu verhindern Sie verwenden können, vorbereitete Aussagen.

Verwandte Themen