因此,我开始学习PHP,但遇到了问题。因此,文件“ store.php”将从登录页面收集数据,并且登录页面要求输入电子邮件和密码。 我正在尝试使正则表达式检查电子邮件是否有效,以及密码是否包含:至少1位数字,1个大写字母,1个小写字母,1个特殊字符,并且最小长度为8。直接获取到canvas.php,因为我在表单中执行“ actions =“ canvas.php””。有人可以帮我吗?
<?php
$email = $password = "";
$emailERR = $psswrdERR = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = test_email($_POST["email"]);
$password = test_psswrd($_POST["password"]);
}
function test_psswrd($data) {
if(!(preg_match('/(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}/', $data))){
$password = "Password is not valid";
return $password;
}
else{
return $data;
}
}
function test_email($data)
{
$data = trim($data);
if (filter_var($data, FILTER_VALIDATE_EMAIL))
{
return $data;
}
else
{
$emailERR = "Email is not valid";
return $emailERR;
}
}
答案 0 :(得分:1)
如果您以表单的形式执行action = canvas.php,则此代码将永远不会运行,因为您永远不会在此页面上发布。如果要进行验证,请确保要发布到实际进行验证的文件中。
此外-如果电子邮件/密码无效,此代码应引发异常并返回正确的状态-好像您在test_password或test_email中没有做任何特别的事情。