2016-09-20 119 views
1

我設置用PHP cookie的搜索字符串,使用PHP的 - 在餅乾

setcookie("name", "John Mayer", time()+31556926 , "/"); 

後,我想搜索的cookie值用PHP來檢查它是否包含一個值,使用

if (strpos($_COOKIE["name"],"Mayer")) { 

但是,它總是返回false。不允許使用php檢查cookie值嗎?如果是的話,無論如何檢查它?

+2

爲什麼你補充說,「/」,在坐了一個cookie,一旦我刪除它的結束,一切運行良好 – odai

回答

1

您編輯的代碼。

if(isset($_COOKIE["name"]) && !empty($_COOKIE["name"])) { 
    if (strpos($_COOKIE["name"], 'Mayer') !== false) { 
     echo 'exists'; 
    } 
} 
+0

注意字符串職位從0開始,而不是1. – AndreFeijo

1

檢查,如果其設定和繼續

if(isset($_COOKIE["name"])) { 

if (strpos($_COOKIE["name"], 'Mayer') !== false) { 
    // it exists 
     echo 'true'; 
    } 

    } 
+2

你的「isset」邏輯是倒退的。 – AndreFeijo

+0

@AndreFeijo哎呀,謝謝; D – deviantxdes

1

實際上strpos返回一個索引所以,如果字符串從初始匹配則返回0,這是零,被評定爲假。它返回-1,如果搜索文本因此未匹配,這樣就可以使一個條件喜歡 -

if (strpos($_COOKIE["name"],"Mayer")>=0) 
    { 

    } 
    // or strict comparison with false 
    if (strpos($_COOKIE["name"],"Mayer")!==false) 
    { 

    }