0
我目前在我的网站上有注册脚本,要求电子邮件来自特定域名。PHP注册脚本 - 强制特定电子邮件域名
因此,对于这个示例,我们会说用户需要使用@ 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. //
}
我遇到的问题是,如果用户填写[email protected]脚本提供和错误。如果用户提供[email protected],它应该可以正常工作。但是,如果用户只是输入电子邮件的第一部分而不使用@ gmail.com,它也可以运行,运行SQL查询并将值输入到数据库中。
任何帮助将不胜感激!
给你发布的代码,进入这不是包含“gmail.com”将不会在第二个'if'的身体,因为$ ERR将设置执行报表的电子邮件地址。你确定这是正在执行的代码吗? – CodeCaster
不是一个真正的答案,但我会建议如果(count($ err)<1)并且还在$ gmail var中声明$ err = []。 –
修正它实际上,你是对的。我还在运行支票以确保它是一个有效的电子邮件地址,然后付给if($ emailCheck),导致$ emailcheck被跳过,而没有提交完整的电子邮件! – Jako