密码长度错误不会出现

时间:2012-06-07 20:31:34

标签: php registration

我有一个错误(“密码长度必须介于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!";
}

?>

3 个答案:

答案 0 :(得分:8)

在使用md5()

之前检查长度

答案 1 :(得分:0)

这是因为您在MD5中哈希密码并将$ password变量更改为32个字符串

答案 2 :(得分:0)

当您在md5函数中发送密码时,该函数实际上会创建一个32个字符的十六进制数字(哈希),因此您的检查无效。