douci2516 2014-10-07 21:54
浏览 152
已采纳

在浏览器关闭并重新打开后,在php中无法读取cookie值

I was trying to figure out how isset() and empty() related to setcookie() and $_COOKIE[]. But I came upon a road-block on the way.

Here is my test.php

<?php

//initialize cookie
$expiry = time()+60*60*9000;
setcookie('name1', '4', $expiry, '/', '', '', TRUE);

if (isset ($_COOKIE['name1'])) {

    echo 'cookievalue ' . $_COOKIE['name1'];

} else {

    echo 'cookie value not set';

}


if (!empty ($_COOKIE['name1'])) {

    echo 'cookievalue ' . $_COOKIE['name1'];

} else {

    echo 'cookie value empty';

}

?>

Here is my test1.php

<?php

if (isset ($_COOKIE['name1'])) {

    echo 'cookievalue ' . $_COOKIE['name1'];

} else {

    echo 'cookie value not set';

}


if (!empty ($_COOKIE['name1'])) {

    echo 'cookievalue ' . $_COOKIE['name1'];

} else {

    echo 'cookie value empty';

}

echo 'cookievalue ' . $_COOKIE['name1'];


?>

When I first load test.php, and then test1.php, everything seems to work fine. That is, test1.php is able to read the $_COOKIE[] variable that was set in test.php via setcookie(). (Although, as expected, test.php had to be refreshed once before cookie values were output in test.php.)

However, if I close the browser, and reopen it, and then just run test1.php, I get an "Undefined Index" notice on name1 in $_COOKIE['name1'].

Why can't test1.php pick up the $_COOKIE variable defined before the browser was closed? The cookie should still be stored in the computer. Why can't it pull up the cookie value from it after closing and reopening the browser?

  • 写回答

2条回答 默认 最新

  • doucan8276 2014-10-07 22:34
    关注

    Answering my own question.

    Thanks to @Dagon tried it using a different browser. It works in another browser (Firefox). It wasn't working in my Chrome browser (I suspect I have some anti-cookie extension on Chrome that's deleting the cookie -- or something like that).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 cpuid是如何转换的
  • ¥15 MddBootstrapInitialize2失败
  • ¥15 LCD Flicker
  • ¥15 Spring MVC项目,访问不到相应的控制器方法
  • ¥15 esp32在micropython环境下使用ssl/tls连接mqtt服务器出现以下报错Connected on 192.168.154.223发生意外错误: 5无法连接到 MQTT 代理,如何解决?
  • ¥15 关于#genesiscsheel#的问题,如何解决?
  • ¥15 Android aidl for hal
  • ¥15 STM32CubeIDE下载程序报错
  • ¥15 微信好友如何转变为会员系统?(相关搜索:小程序)
  • ¥15 c# 直接使用c++ 类库文件