2013-03-17 172 views
1

我想验证我的注册表单,并且我的某个验证无效。如果第一个名字长度超过20个字符,我想回显一条错误消息。我正在使用代码简单的“大于”表单验证

} else if($_POST["mem_first_name"] >20) { 
     $errors[] = 'Sorry but your First name is limited to 20 Characters each'; 
} 

但是,如果输入超过20个字符,则不会显示错误。但是如果我使用相同的代码,但将其更改为小于这样

} else if($_POST["mem_first_name"] <20) { 
     $errors[] = 'Sorry but your First name is limited to 20 Characters each'; 
} 

然后,它的工作原理,有一个简单的解决?

回答

1

如何使用strlen()函数计算字符串?这是字符计数数量稳定和适当的方式IMO

} else if(strlen($_POST["mem_first_name"]) >20) { 
     $errors[] = 'Sorry but your First name is limited to 20 Characters each'; 
} 
2
if(strlen($_POST["mem_first_name"]) > 20) 
2

使用strlen()功能

} else if(strlen($_POST["mem_first_name"]) >20) { 
     $errors[] = 'Sorry but your First name is limited to 20 Characters each'; 
} 
1

你必须使用字符串长度检查strlen()功能。此外,请注意,如果您需要多字节编码支持,则应切换到使用mb_strlen()

var_dump(strlen('bär'));   // int(4) - byte length 
var_dump(mb_strlen('bär', 'utf8')); // int(3) - character length