PHP 7.1.5表单验证错误消息不一致

PHP 7.1.5表单验证错误消息不一致,php,Php,我正在尝试创建一个带有其他输入字段的注册表,下面是一个只涉及密码字段验证的代码段。在密码验证之前,一切正常。当我发布5位或更多数字字符时,表单才会提交,但当我发布5个字母长的密码时,表单不会提交。所以,即使我发布了超过10个字母的密码,它仍然呼应“密码至少必须是6个字符”。我错过了什么 <? if(isset($_POST['pass']) && isset($_POST['pass2'])) { unset($_SESSION['pass']); unset

我正在尝试创建一个带有其他输入字段的注册表,下面是一个只涉及密码字段验证的代码段。在密码验证之前,一切正常。当我发布5位或更多数字字符时,表单才会提交,但当我发布5个字母长的密码时,表单不会提交。所以,即使我发布了超过10个字母的密码,它仍然呼应“密码至少必须是6个字符”。我错过了什么

<?
if(isset($_POST['pass']) && isset($_POST['pass2'])) {

  unset($_SESSION['pass']);
    unset($_SESSION['pass2']);

  $pass = htmlentities($_POST['pass']);
  $_SESSION['pass'] = $pass;

    $pass2 = htmlentities($_POST['pass2']);
    $_SESSION['pass2'] = $pass2;

  if ($pass != $pass2) {
        $_SESSION['error'] = "Passwords did not match";
        header('Location: register1.php');
        return;
  }

    elseif(strlen($pass < 5)) {
        $_SESSION['error'] = "Password must be 6 characters at least";
        header('Location: register1.php');
        return;
    } 

    else{}
}

?>

<html>
<body>
<?    
if (isset($_SESSION['error'])) {
  echo('<p style="color:red; font-size: 0.9em;">'.$_SESSION["error"]."
  </p>\n");
  unset($_SESSION['error']);
}             
?>

  <form action="register1.php" method="post">
    <p>
    <input type="password" name="pass" placeholder="Password"  required>
    </p>
    <p>
    <input type="password" name="pass2" placeholder="Confirm Password" 
    required>
    </p>
    <p>
    <input type="submit" value="Register">
    </p>
    </form>
</body>
</html>


您使用的是
strlen($pass<5)
而不是
strlen($pass)<5


所以,strlen($Pass)就是这样,我从你那里学到了很多,谢谢。我相信这对新手都有帮助。@UwemUke谢谢你的评论。
elseif(strlen($pass) < 5) {
    $_SESSION['error'] = "Password must be 6 characters at least";
    header('Location: register1.php');
    return;
}