【发布时间】: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 中关闭
-
我希望你现在得到解决方案
-
谢谢,我知道了。