生成后存入session,并加上生成时间,刷新时,获取session判断当前时间和生成时间的时间差是否大于8分钟

解决方案 »

  1.   

    生产session 至是在1个浏览器中一样, 换个浏览器就不行了,
    你可以用 文件缓存来完成, 
    设置文件有效期, 设置数值
    var_export($arr,true) ; // 数组转换字符串
    保存到一个文件中// temp.php 
    return array(
    'value'=>'6位数',
    'time'=>time()
    );//引用这个文件,并判断是否过期, 过期更新, 没过期就继续用
    $arr= include(' temp.php的路径');  // 这样就获取了数据, 并做判断,  就是麻烦了, //你可以把这个功能集成到一个函数中去,以后用着方便
      

  2.   

    如果考虑到更换浏览器的话,要么就是持久化存储,要么就存memcache吧
    加上生成时间判断时间差大于8分钟更新就好了
      

  3.   

    时间戳做随机种子,可以通过算法保证在X分钟内的种子是一致的。至于不同用户不同,再加上sessionid就不怕出问题了
      

  4.   


    看不太懂,能说下具体的吗?下面是全部代码
    <?php
    $lastNo=$this->getGameLastNo(14); header('Content-type: application/xml');
    echo'<?xml version="1.0" encoding="utf-8"?>';
    echo '<xml><row expect="'.$lastNo['actionNo'].'" opencode="'.randKeys().'" opentime="'.$lastNo['actionTime'].'"/></xml>';
    /* 生成随机数 */
    function randKeys($len=5){
    $str='0123456789';
    $rand='';
    for($x=0;$x<$len;$x++){
    $rand.=($rand!=''?',':'').substr($str,rand(0,strlen($str)-1),1);
    }
    return $rand;
    }
    ?>
      

  5.   

    将固定的随机数放到数组中也是可以的,至于时间的设定,可以用js的定时器完成,定时请求一个ajax的方法,这个方法去php页面数组中拿数字