2010-02-22 37 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。