php cookies协助

时间:2012-06-19 15:27:48

标签: php setcookie

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

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

  2. 成功登录后,我有类似的内容:

    // COOKIE DETAILS HERE

    setcookie('username4pc',$userName);
    setcookie('userpass4pc',$userPass);
    
    header("Location:testCookie.php");
    
  3. 我已经确定这是在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”

    关于为什么和出错的任何想法?

2 个答案:

答案 0 :(得分:5)

你错误地访问了cookie,它应该是:

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

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

答案 1 :(得分:1)

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

您正在检查的内容:

isset($_COOKIE['first_name'])

您正在设置

setcookie('username4pc',$userName);
setcookie('userpass4pc',$userPass);