Cookie经过两次三页刷新后过期

时间:2016-09-06 15:11:17

标签: php cookies

我有一个页面可以记住用户,如果他们第一次登录,并且随后他们不必一次又一次登录。

为了达到这个目的,我根据自己的需要制作了一个包含各种功能的认证课程。

但是,当我在控制台中查找cookie时,我找不到我创建的那个,而在标题中看到相同的cookie(超链接附近出现白色图标)

我将提供各种屏幕截图以提供相同的内容。

enter image description here

这个是在我制作一个cookie之后,看到,控制台中没有相同的cookie值,但它存在于上面。

enter image description here

这个显示了cookie从今天起30天后的到期时间。它不应该过期,但在页面刷新时,它就会消失。

enter image description here

只需刷新一到两页后,就可以清楚地看到Cookie已过期。

我对这种奇怪的行为感到非常困惑。

public final function on_log($user,$user_name){
$token=$this->generate_random_token($user);
$this->store_token_for_user($user,$token);
$cookie = $user . ':' . $token;
$mac = hash_hmac('sha256', $cookie, $this->key);
$cookie .= ':' . $mac.':'.$user_name;
setcookie('_ajh_food_quo', $cookie,time() + (30 *24 * 60 * 60));//user cookie
//$this->logUserIn($user,$user_name);
}

以上功能设置cookie。

有人可以解释一下,我在这里做错了什么?

如果有人需要更多内容请在评论中提问,我会相应地更新我的问题。

1 个答案:

答案 0 :(得分:1)

Cookie的路径为library(gWidgets2) programs = list("Program A"="a.R", "Program B" = "b.R") w <- gwindow("run programs") g <- ggroup(cont=w, horizontal=FALSE) fl <- gformlayout(cont=g) cb <- gcombobox(names(programs), cont=fl, label="Select a program to run") b <- gbutton("Run selected program", cont=fl, label="", handler=function(h,...) { prog <- svalue(cb) val <- gconfirm(sprintf("Run program %s?", prog), parent=w) if (val) { source(programs[[val]]) gmessage("All done", parent=w) } })

要在您网站的所有路径上提供会话,请向/Google setcookie路径(根)添加第4个参数

所以它应该是这样的:/

这种方式适用于网站的所有路径..