2013-01-11 21 views
2

好吧,我一直在教導自己的PHP和做了約40個小時的小項目,並且我會認爲我沒有混淆簡單的IF語句,但是......下面的兩個回聲顯示正確的東西(密碼和密碼的長度)。如果PHP中的聲明讓我動起來

但是,「ARGH」和studentnotexist函數的回聲被調用!我不知道爲什麼。當然這很簡單。

echo $password; 
echo strlen($password); 

if (strlen($password < 2)) { 
    echo "********************* ARGH ************************"; 
    studentnotexist(); 
    session_destroy(); 
    die(); 
} 
else 
//Begin IF blocks that test various conditions for user name and password 
if ($password != $passwordentered) { //if password is wrong 
    badpassword(); 
    die(); 
} 

回答

8

要檢查的 「$密碼< $ 2」 而不是 「$密碼」 的長度的長度。

看出差別:

if (strlen($password < 2)) { 

VS

if (strlen($password) < 2) { 

看括號在哪裏。

你想要第二個。

+0

是的。我注意到發佈後大約2分鐘。謝謝! –

1

當心,你關閉括號:

if (strlen($password) < 2) 
+0

是簡單的括號問題。謝謝。 –