cookie 是在网页内容发送之前,先发送出去的信息,也就是说,在这之前不能有任何的 html 代码和 echo 等,即使是一个空格也是不允许的.
在php中,要用 setcookie 函数来注册 cookie 变量,你上面的代码没有注册 cookie 变量,怎么可能送得过去呢,正确的写法如下:
- */
- $status=0;
- if(isset($_cookie['mytstcky'])&&($_cookie['mytstcky']=="chocchip")) $status=1;
- if(!isset($_get['cchk']))
- {
- setcookie("mytstcky","chocchip");
- header("location:$php_self?cchk=1");
- exit;
- }
- ?>
- <html>
- <head><title>cookie check</title></head>
- <body bgcolor="#ffffff" text="#000000">
- cookie check status:
- <?php
- printf('<font color="#%s">%s</font><br>;',$status ? "00ff00" : "ff0000",$status ? "passed!" : "failed!");
- ?>
- </body>
- </html>
|