0

也许我错过了一些东西,但我不确定。我所做的只是设置cookies,以便我以后可以检索它们的值。我试图实现这样的事情,但无济于事......不知道为什么它不工作,因为它并不那么困难。

  1. 我有一个简单的登录表格,你知道,用户名/密码等......没什么特别的。

  2. 成功登录后,我有这样的事情:

    //这里有饼干的详细信息

    setcookie('username4pc',$userName);
    setcookie('userpass4pc',$userPass);
    
    header("Location:testCookie.php");
    

我确保这是在 HTML 标记之前以及在任何内容输出到页面之前进行的。如此之多,我从我正在处理的程序中取出上述内容并将其放在一个空白的 html 页面上进行测试,现在它看起来像这样......

点击索引页上的“登录”后,它进入我的新测试页面,只有这个:

<?php
setcookie('username4pc',$userName);
setcookie('userpass4pc',$userPass);
header("Location:testCookie.php");
?>
<html></html>

在上述运行之后,标题将它扔到testCookie.php只有这个的页面

<?php
//test cookie

if(isset($_COOKIE['first_name'])){
    echo " cookies set";

} else {
    echo "cookie not set";  
} 
?>
<html></html>

不管我做什么,我总是得到“cookie not set”

关于为什么以及出了什么问题的任何想法?

4

2 回答 2

5

您访问的 cookie 错误,应该是:

if(isset($_COOKIE['username4pc'])){
or
if(isset($_COOKIE['userpass4pc'])){

一个简单的var_dump($_COOKIE)将向您显示 cookie 数组中的确切内容。

于 2012-06-19T15:29:32.273 回答
1

我看到的第一件事是你正在设置和检查两个不同的东西。

您正在检查的内容:

isset($_COOKIE['first_name'])

你在设置什么

setcookie('username4pc',$userName);
setcookie('userpass4pc',$userPass);
于 2012-06-19T15:37:55.147 回答