我有一个PHP脚本,当一个表单按钮被单击时运行。除了检查电子邮件格式的例程之外,一切都很正常。为此,我尝试使用内置的PHP过滤器函数,但它似乎甚至不能运行(我正在使用一个合适的PHP版本来完成此操作)。我正在检查' at‘符号和域名的圆点的存在,就在开发机器的WAMP网络服务器上。如果我输入了一个无效的地址(例如abc123 -即没有'at‘符号,没有点),它似乎认为一切正常,并加载适当的页面。这里的代码:(顺便说一句,tempvar可以正确回显,只是为了实验)
$_SESSION['emailaddress']=$_POST['unamebox'];
$tempvar = $_SESSION['emailaddress'];
function checkEmail($tempvar) {
$find1 = strpos($tempvar, '@');
$find2 = strpos($tempvar, '.');
return ($find1 !== false && $find2 !== false && $find2 > $find1);
}
if ( checkEmail($tempvar) )
{
echo "OK";
}
else
{
echo "Bad email format!";
}
发布于 2020-12-15 13:43:17
因为strpos会返回一个整数,如果在string中找到了模板,否则会返回false。现在!==
运算符也是匹配变量类型!
当find1或find2字符串匹配时,!==返回false值!
https://stackoverflow.com/questions/65307014
复制