Php 密码长度错误不会显示

Php 密码长度错误不会显示,php,registration,Php,Registration,我设置了一个错误(“密码长度必须在6到32个字符之间”),因此当用户尝试使用少于6个字符的密码注册时,他们会收到该错误并且无法注册,但无论密码多么短,错误都不会出现,只会继续注册。请帮忙,谢谢! 代码如下: <?php $submit = $_POST['submit']; $name = strip_tags($_POST['fullnamefield']); $email = strip_tags($_POST['regemailfield']); $password = str

我设置了一个错误(“密码长度必须在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!";
}

?>


在使用md5()之前检查长度

在使用md5()之前检查长度

这是因为在MD5中散列密码,并将$Password变量更改为32个字符的字符串

这是因为在MD5中散列密码,并在MD5函数中发送密码时将$Password变量更改为32个字符的字符串

,该函数实际上创建了一个32个字符的十六进制数(hash),因此您的检查是无用的

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

为什么要将密码长度限制为32个字符?这就像是故意限制您的安全性。为什么要将密码长度限制为32个字符?这就像是故意限制您的安全性。@checkit923只需将密码字段的最大长度限制为32英寸html@AbdullahAdam,这是一个非常糟糕的主意,如果你依赖它的安全性。所有用户数据都应该在服务器端进行检查/消毒。@mike实际上,我认为用户希望将密码长度限制为最大32,而不是在PHP中获取数据时,密码已经带有最大32,这样他就可以直接做其他事情了。也许我错了,你怎么说do@AbdullahAdam,任何HTML或JavaScript都无法阻止用户向您的脚本提交任何他们想要的内容。嘿,伙计们,我遵循一个教程:&他们告诉我这样做,并且它在那里工作,只是不适合我。@checkit923只是将您的密码字段最大长度限制为32英寸html@AbdullahAdam,这是一个非常糟糕的主意,如果你依赖它的安全性。所有用户数据都应该在服务器端进行检查/消毒。@mike实际上,我认为用户希望将密码长度限制为最大32,而不是在PHP中获取数据时,密码已经带有最大32,这样他就可以直接做其他事情了。也许我错了,你怎么说do@AbdullahAdam,没有任何HTML或JavaScript能够阻止用户向您的脚本提交任何他们想要的内容。嘿,伙计们,我遵循一个教程:&他们告诉我这样做,而且它在那里工作,只是不适合我。