2011-10-05 18 views
0
if ((isset($post["username"]) && isset($post["password"])) && (!empty($post["username"]) && !empty($post["password"])) && ($post["username"] == "something" && $post["password"] == "something")) 
{ 

} 

Error: syntax error, unexpected T_IF in [file_name here but I rather not expose the file path and name]什麼在PHP

不對的if語句我知道這是有點複雜,但有什麼不對的if語句,因爲我收到上述錯誤。雖然我檢查了幾次。

+1

應該是前行中的錯誤。 – Sufendy

+0

爲什麼你使用isset()和empty()?爲了簡化這些陳述,我通常會使用某種標記來了解提交公式的時間。通過這樣做,我只需要驗證用戶名和密碼的實際內容 –

+0

if語句之前的唯一行是這個'<?php $ post = $ _POST'只需2行代碼。 – Tarik

回答

2

該錯誤unexpected T_IF指示if是意外的,這意味着在if之前存在錯誤。可能是丟棄分號。檢查上面的是否你應該找到你的問題。

+0

是的,有趣的我。我正在使用Vb.NET並忘記使用「分號」。謝謝你的方式。 – Tarik

+0

沒問題。我主要是一個C/PHP開發人員,但我在學校中使用了VB.Net,並且總是會在VB中的行尾加上分號。 – jmlsteele

+0

是的,但Vb.NET不允許我這樣做。 – Tarik

1

您可能會在if之前的行中丟失一個分號。

1

確保你沒有遺漏任何分號。

也只是爲了檢查,你確實想使用變量$post而不是$_POST對不對?

2

另一個建議我可能會(對誰可能再編輯代碼的其他人的緣故)是打破if語句:

$valuesAreSet = isset($post["username"]) && isset($post["password"]); 
$areNotEmpty = !empty($post["username"]) && !empty($post["password"]); 
$areValid = $post["username"] == "something" && $post["password"] == "something"; 

if ($areSet && $areNotEmpty && $areValid) { 
    ... 
} 
+0

我有點像這樣:)謝謝。 – Tarik