Cookie是否在开放会话期满时未通过请求发送?

时间:2012-09-27 23:31:18

标签: php cookies yii

假设我创建了一个在创建时到期的cookie,以下示例我使用yii

            $data_cookie = new CHttpCookie('_MD2', $data);
            $data_cookie->expire = time();
            Yii::app()->request->cookies['_MD2'] = $data_cookie;

现在我尝试使用以下代码获取它的值

yii::app()->request->cookies['_MD2']->value

但我没有得到任何东西 当我改变它的失效日期时,我获得了它的价值 即使浏览器未关闭,也不会在到期时获取cookie值 ?
注意:我在mozilla最新版本中测试了它

3 个答案:

答案 0 :(得分:0)

如果您在Cookie上设置过期时间,那么它将在此时过期,而不是在浏览器关闭时过期。浏览器不会向您发回过期的cookie,即使它刚刚刚刚设置过。

设置现在(或过去)的到期实际上是删除已存在的具有相同名称的cookie的常用方法。

答案 1 :(得分:0)

是的,检查有效期是一个好习惯。特别是如果你有一个高容量的网站。但是cookie也可以删除,并且有效期。

答案 2 :(得分:0)

如果Cookie已过期......它已过期。它被抛出,而不是发送到您的服务器。如果您确实想要恢复cookie,请在将来设置到期日期。