2014-02-21 59 views
0

因此,我使用一些邏輯來檢查搜索客戶端的人是否已經爲搜索提供了足夠的信息,但由於某種原因,我的一個字符串在if語句中甚至被轉換爲false儘管它有一個價值...PHP將填充字符串填充爲假

// get lookup parameters 
$clientID = $db->real_escape_string($_POST["clientID"]); 
$fistName = $db->real_escape_string($_POST["firstName"]); 
$lastName = $db->real_escape_string($_POST["lastName"]); 
$phone = $db->real_escape_string($_POST["phone"]); 

// check if enough parameters were provided 
if (!($clientID) && !($firstName && $lastName) && !($phone)) { 
    // die 
    printf("Invalid search parameters."); 
    exit(); 
} 

當我提供一個clientId或電話號碼不存在問題,但使用的姓氏和名字時,它如果進入。我把它打印出if中的變量值,它顯示$ firstName =「Andrew」,$ lastName =「[insert my lastname]」。如果我將它們打印成bools,則$ firstName爲true,$ lastName爲false。

我不知道爲什麼它會投一個字符串爲真,一個爲假,除非它考慮到字符串中可能是什麼?我的姓氏以「F」開頭。真的在這裏擺動,並拋出瘋狂的想法。

+0

不是所有的值都等於true。但是以字母「F」開頭的字符串是。我懷疑這不是你問題的原因。 –

+0

@John Conde - 什麼?! – JBES

+1

@crazypeopleruleu - 你有一個錯字:$ fistname – JBES

回答

0
// get lookup parameters 
$clientID = $db->real_escape_string($_POST["clientID"]); 
$firstName = $db->real_escape_string($_POST["firstName"]); 
$lastName = $db->real_escape_string($_POST["lastName"]); 
$phone = $db->real_escape_string($_POST["phone"]); 

// check if enough parameters were provided 
if (!$clientID && !$firstName && !$lastName && !$phone) { //No need for all the brackets 
    // die 
    echo'Invalid search parameters.';//echo 
    exit; 
} 
+2

這解決了什麼?編輯:對,錯字。如果你要用代碼回答,至少要提到你做了什麼以及爲什麼。 –

+0

它解決了這個問題。 $ firstName在問題中拼寫錯誤,上述內容更正拼寫錯誤=答案。 – JBES