0
votes

i tried last nights to check email domain before i added to my database, for example i want add @hotmail.com if any one write hotmail.c i must reject that to add it in my database.

this is my 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 use FILTER_VALIDATE_EMAIL if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) { echo("$email is a valid email address");}else{echo "not valid";}devpro
Your code is open for SQL injection use prepared statements and note that mysql_* is closed in Php 7devpro
I hope u got the solution nowdevpro
Thank you , i got the solution.Abdulelah

1 Answers

0
votes

For validating the valid email address you can use FILTER_VALIDATE_EMAIL

The FILTER_VALIDATE_EMAIL filter validates an e-mail address.

Basic Example:

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

Most important, mysql_* is deprecated and closed in Php 7.

And your code is open for SQL injection for preventing the SQL attack you can use prepared statements.