2013-02-18 56 views
-1

我有一個PHP腳本,當我直接將其插入header.php或Wordpress網站主題的任何其他文件時,PHP腳本無法正常工作。現有cookie的PHP檢查在Wordpress中不起作用

我成功地寫了一個cookie。然後我用Java腳本和PHP代碼檢查這個cookie。但是,只有Java腳本返回我「發現」。

<script language="javascript"> 
    <!-- 
    if (document.cookie.indexOf("users_res") >= 0) { 
    alert("found"); 
} 
else { 
    alert("not found"); 
} 
    //--> 
    </script> 
<?php 
if (isset($HTTP_COOKIE_VARS["users_res"])) { 
    echo "found"; 
} else { 
    echo "not found"; 
} 
?> 

當我把這個PHP代碼爲test.php的,我手動把它上傳到我的網站 - PHP腳本顯示了「發現」。但是當我嘗試將代碼插入header.php或我的WP主題的任何其他PHP文件時 - 它顯示「未找到」。

我測試了這個PHP代碼與2個不同的主題和WP版本的其他網站,但仍然無法正常工作。

回答

4

我認爲你的問題是與$HTTP_COOKIE_VARS,用$_COOKIE取代它,它應該工作,(即如果你的腳本部分調用$HTTP_COOKIE_VARS是在函數內)。

$ HTTP_COOKIE_VARS包含相同的初始信息,但不是超全局的。 (注意:$ HTTP_COOKIE_VARS和$ _COOKIE是不同的變量,PHP處理它們的方式)

http://php.net/manual/en/reserved.variables.cookies.php

+0

Thanx!它worx! – Mitko 2013-02-18 20:02:04

+0

@Mitko很高興它的工作,你應該選擇這個作爲接受的答案:) – sharp12345 2013-02-18 20:44:26

2

更換$HTTP_COOKIE_VARS$_COOKIE$HTTP_COOKIE_VARS已被棄用,而不是全球性的可能是您無法訪問cookie的原因。