PHP Cookie没有初始化

时间:2014-01-13 22:35:35

标签: php

我想将数组存储在cookie中,下面只在脚本执行一次时才有效(cookie在用户浏览器中)。第一次执行脚本时,会收到以下错误(正在存储cookie),执行第二次,第三次等时间,脚本没有问题。关于为什么会发生这种情况的任何想法都是对所需cookie值的初始化。

The below errors are displayed 3 times within the while loop.
Notice: Undefined index: cookievalue1 in C:\domain\cookies.php
Notice: Undefined index: cookievalue2 in C:\domain\cookies.php
Notice: Undefined index: cookievalue3 in C:\domain\cookies.php



<?PHP

$i = 1;
$x = 4;

$username = "Username";
$orderno = "12345678";
$item1 = "Firstitem";
$price1 = "$50";
$item2 = "Seconditem";
$price2 = "$46";
$subtotal = "$96";
$tax = "5%";
$total = "$100";
$var = NULL;

$cookiearray = array($username,$orderno,$item1,$price1,$item2,$price2,$subtotal,$tax,$total);      
print_r($cookiearray);


while ($i < $x) {   

    $cookiearray1 = serialize($cookiearray);
    setcookie("cookievalue" . $i, $cookiearray1, time()+3600);
    print "printing cookie  "; $cook1 = $_COOKIE['cookievalue'.$i];
    print $cook1; print '<br></br>';print '<br></br>';

    $var = unserialize($cookiearray1);

    print "printing var"; print $var[1];
    print '<br></br>';print '<br></br>';

    $var2 = unserialize($cook1);
    print $var2[$i];
    print '<br></br>';print '<br></br>';

   $i = $i + 1;


}



?>

1 个答案:

答案 0 :(得分:1)

然后manual清楚地解释了这一点:

  

常见陷阱:

     

在下次加载页面之前,Cookie才会显示   cookie应该是可见的。测试cookie是否成功   设置,检查cookie之前的下一个加载页面上的cookie   到期。过期时间通过expire参数设置。一个很好的方式   通过简单调用来调试cookie的存在   的print_r($ _ COOKIE);