我阅读了很多关于检查数据库中是否存储有相同电子邮件的问题。然而,这些解决方案都没有考虑到电子邮件提供商(例如谷歌)允许用户在其帐户名中包含点的情况。例如username@gmail.com
等于user.name@gmail.com
。
我知道我可以像这样去除点并检查它们,这是个好主意吗?
但我相信这里还有其他需要考虑的事情。
帮助我检查数据库中是否已经有给定的电子邮件,并考虑点和其他额外因素。
更新 这是我检查是否已经有电子邮件地址的方式。
public function isemail($email)
{
$qw = $this->registry->dbi->prepare("SELECT `email` FROM `".PRE."membership` WHERE `email`=?;")->execute($email)->results();
if (empty($qw)) return false;
return true;
}
问题是,例如onetwo@gmail.com
,与one.two@gmail.com
有一个点不同。有些电子邮件允许点用于相同的帐户,而有些则不允许。我应该如何表现?
类似的解决方案
可以在此处找到类似问题的解决方案