2013-05-01 19 views
1

只是在PHP关于STRLEN一个简单的问题...下面是我的代码,我相信在某个地方错了,但就是不知道在哪里..STRLEN在PHP什么是错的

什么即时试图做的(显然)是显示错误消息,如果在每一个文本框..

当我运行这个不到2(不含2)字符,它做绝对没有那么一定有什么不对的地方。

任何帮助,绝对感谢!

$error_message = ""; 
     if(strlen($username) < 2) { 
     $error_message .= 'The username you entered do not appear to be valid.<br />'; 
     } 
     if(strlen($start) < 2) { 
     $error_message .= 'The start time you entered do not appear to be valid.<br />'; 
     } 
     if(strlen($end) < 2) { 
     $error_message .= 'The end time you entered do not appear to be valid.<br />'; 
     } 
     if(strlen($location) < 2) { 
     $error_message .= 'The location you entered do not appear to be valid.<br />'; 
     } 
     if(strlen($department) < 2) { 
     $error_message .= 'The department you entered do not appear to be valid.<br />'; 
     } 
     if(strlen($error_message) > 0) { 
     died($error_message); 
     } 
+1

'2或更少'是'<= 2' – Aquillo 2013-05-01 09:57:59

+2

死了一个错字? PHP函数是'die'。 – alexn 2013-05-01 09:58:55

+2

_“当我运行这个时,它完全没有做任何事情,所以一定有什么问题。” - - 开始调试。例如,执行'echo strlen($ username)'。 – CodeCaster 2013-05-01 09:59:11

回答

5

2或更小意味着你需要做的:

if(strlen($variable) <= 2) 

什么,你正在做的是小于2,排除2(1以下)

+0

感谢您的评论。我的意思是小于2.我基本上只是不想让用户留下空白框哈哈 – Tuzki 2013-05-01 09:59:49

0

你检查什么价值你是获得strlen($ username),strlen($ department),... 你得到的错误是什么?

新的编辑

尝试再次添加,这会让你确信代码readed。

if(strlen($username) < 2) {echo "The username you entered do not appear to be valid.<br />";} 
else {echo "username is present";} 
+0

我没有得到一个单一的错误信息。它只是没有做任何事情。 – Tuzki 2013-05-01 10:00:37

+0

我用回波调试为每一个的评注上面说,它显示我这个错误解析错误:语法错误,意想不到的“如果”(T_IF),期望“”或‘;’在线119上的C:\ wamp \ www \ emergency \ Assign_form.php – Tuzki 2013-05-01 10:03:50

+0

您必须具有不带';'的回显。请粘贴回声声明和回声结果 – Yogus 2013-05-01 10:07:11

0

最好的方法是使用类似

if(isset($username{3}) ...) { 
    .... 
    } 
... 

有原因很简单,使用$ VAR_NAME {的IndexOf},因为它的速度更快,然后strlen的和间接的同时,还检查渡过了大于2