PHP注册脚本-强制特定的电子邮件域


PHP Register Script - Forcing Specific Email Domain

我目前在我的网站上有一个注册脚本,要求电子邮件来自一个特定的域。

所以在这个例子中,我们将说用户需要使用@gmail.com电子邮件注册。

$gmail = 'gmail.com';
$emailCheck = strpos($_POST['email'],$gmail);

然后,在继续之前,我检查以确保用户表单提交的电子邮件包含gmail.com。

if($emailCheck === false) {
        $err[]='Only @gmail.com email addresses are currently accepted.';
}

然后继续注册,检查是否有$err[]出现。

if(!count($err)) {
        // INSERT IN DB, ETC. //
}

我遇到的问题是,如果用户填写user@yahoo.com脚本提供和错误。如果用户提供user@gmail.com,它就会正常工作。但是,如果用户只输入电子邮件的第一部分,而不输入@gmail.com,它也可以工作,运行SQL查询并将值输入到DB中。

任何帮助都将非常感激!

$input=trim($_POST['email']);
if (preg_match("/^'S+@gmail'.com$/i", $input) {
// INSERT IN DB, ETC. //
}
else {
$err[]='Only valid <your_login>@gmail.com email addresses are currently accepted.';
}