我有一个错误(“密码长度必须介于6到32个字符之间”)设置,所以当用户尝试使用少于6个字符的密码注册时,他们会收到该错误但无法注册,但是没有无论密码有多短,错误都没有出现,它只是继续注册。请帮忙,谢谢! 这是代码:
<?php
$submit = $_POST['submit'];
$name = strip_tags($_POST['fullnamefield']);
$email = strip_tags($_POST['regemailfield']);
$password = strip_tags($_POST['regpasswordfield']);
$repeatpassword = strip_tags($_POST['regpasswordconfirmfield']);
$date = date("Y-m-d");
if ($submit)
{
if ($name&&$email&&$password&&$repeatpassword)
{
$password = md5($password);
$repeatpassword = md5($repeatpassword);
if ($password==$repeatpassword)
{
if (strlen($name)>32||strlen($email)>1024)
{
echo "Length of name or email is too long. Please try again";
}
else
{
if (strlen($password)>32||strlen($password)<6)
{
echo "password must be between 6 and 25 character!";
}
}
}
else
echo "Your passwords do not match!";
}
else
echo "Please fill in all fields!";
}
?>
答案 0 :(得分:8)
在使用md5()
之前检查长度答案 1 :(得分:0)
这是因为您在MD5中哈希密码并将$ password变量更改为32个字符串
答案 2 :(得分:0)
当您在md5函数中发送密码时,该函数实际上会创建一个32个字符的十六进制数字(哈希),因此您的检查无效。