PHP:strlen()不起作用......完全没有

时间:2013-01-13 02:56:48

标签: php forms strlen

我已经尝试过寻找其他答案,但我遇到的只是将比较运算符置于错误方向的人。不是这里的情况。下面是我的代码的简化版本。此代码不会返回错误,我相信它应该

我正在尝试确定字符串(在本例中为密码)是否满足最小长度要求。但是,无论我输入什么字符串,它都不会给出它应该出现的错误。作为调试的一种方法,我尝试输入一个简单的字符串,“hi”到strlen()并告诉它如果它小于6个字节长。然而,即便如此,也不会像我希望的那样回归。

我觉得我错过了一些愚蠢的东西。帮助

<?php
$Email = mysql_real_escape_string(Trim($_POST['Email']));
$Password = "hi";

// check fields
$error = false;
if(empty($Email)) $error = true;
if(strlen(utf8_decode($Password)) < 6) $error = true;

if($error != false) header("Location: index.php?error=true");


// store user to database
$success = insert_dbUser(new User($Email, $Password));

// redirect to success page 
if ($success) {
    header("Location: index.php?success=true");
}
else header("Location: index.php?error=existinguser");
?>

2 个答案:

答案 0 :(得分:4)

确保在发送位置标题后结束脚本:

if ($error) {
    header("Location: index.php?error=true");
    exit();
}

答案 1 :(得分:0)

我会检查你的'if'语句的语法,因为它们中的两个既没有冒号':'也没有大括号'{// do stuff}'。其他需要发生'其他'的大概在大括号中。我可能会弄错,但你所拥有的不同寻常的语法对我来说是最突出的。以及退出声明的需要。