2013-05-01 20 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