不能!你应该用 cookie 保存次数
因为 session 临时文件有可能被 gc 进程删去

解决方案 »

  1.   

    cookie ip 手机验证码 什么的 把这些能捆绑起来的东西都捆绑起来,如果你觉得需要这么严格的话.
      

  2.   

    本帖最后由 xuzuning 于 2014-01-26 12:24:16 编辑
      

  3.   


    我设置的是最长存储时间为24小时,if($passed){
    es_session::set("today",$passed+1,$timeend-(time()+3600*8));
    }else{
    es_session::set("today",1,$timeend-(time()+3600*8));
    }从上面代码来看,如果你在00:00:00点开始玩了一次,那么session记录会在24小时后过期,如果你在08:00:00又玩了一次,那么今天所玩次数变为2,周时记录会在16个小时后过期,总之session记录存活不会24小时。但现在我觉得出现了这种情况,假如我在23:30:00玩了一次,它并没有在24:00:00把记录给清除,而是延续到了第二天,结果就是本来我第二天可以玩10次,结果因为前一天的记录而只能玩9次。
      

  4.   

    补充一下:$timeend=strtotime(date("Y-m-d",(time()+3600*8))." 23:59:59");当天24:00:00的时间戳
      

  5.   

    是谁说的?
    如果你在08:00:00又玩了一次,那么 session 的过期时间就是 8:00:00 + 24:00:00