2010-02-22 31 views
2

我有以下代碼構建一個Cookie:無法回顯PHP編碼的cookie值?

$username = $_COOKIE['ID_my_site']; 
    $pass = $_COOKIE['Key_my_site']; 
    $firstName = $_COOKIE['firstName']; 
    $lastName = $_COOKIE['lastName']; 
    $active = $_COOKIE['active']; 
    $email = $_COOKIE['emailAddress']; 

然後使用時:

echo "<b>Username:</b> <? " . $username . "?>"; 
     echo "<a href=logout.php>Logout</a>"; 

的值作爲預期不打印。

社區可以解釋爲什麼並向我提供正確的方法以將值回顯給相關的輸出設備嗎?

+1

您提供的代碼不會構建cookie,它會從['$ _COOKIE'數組]中讀取(http://php.net/$_COOKIE)。 – hakre 2012-06-03 18:29:58

回答

0

如果您完全使用該語法,那麼您根本沒有迴應該變量。嘗試:

echo "Username: $username"; 
echo "Logout"; 

我看到你編輯了你的問題。如果$ username沒有被填充,請嘗試輸出$ _COOKIE中的所有內容以查看其中的內容。

var_dump($_COOKIE); 
+0

將變量保留在字符串中!使用'echo「用戶名:」。 $ username;'而是。 – 2010-02-22 20:27:32

+0

我發現插入變量的非常輕微的性能受到代碼的可讀性的提高超過了。因人而異。 – dnagirl 2010-02-22 20:29:34

1

我懷疑你從未設置過$ _COOKIE ['ID_my_site']。你可以做一個print_r($_COOKIE);看看它包含什麼。我不推薦使用這樣的cookie,它針對RFC。如果你需要在整個會話中保留這些信息,那麼你應該使用$ _SESSION。這也讓惡意的人不會更改他們的cookie。