也想知道。
我一直都用session保存!
其他的没试过
正好学习!
ding

解决方案 »

  1.   

    用session用户名会丢失?
    怎么会丢失?
      

  2.   

    一、用session保存,问题是在做项目时,用户名会丢失;
       二、用cookie保存,问题是如果用户禁用了cookie,就不行了;没有COOKIE的话SESSION也不能用。也不懂为什么会丢。你这情况,用XML文件保存或者数据库试......
      

  3.   

    /* 一、用session保存,问题是在做项目时,用户名会丢失;*/
    怎么会呢?从来没遇到过这种问题啊!我想到两个办法,不过不是很安全:
    一,用get变量保存用户信息.大不了自己写个算法加密一下,到了服务器端再解析出来;
    二,用post变量传递,在网页里面写几个隐藏的form,就是写链接的时候要写个JavaScript脚本让它点的时候先把post变量送出去.小弟的愚见,不知可否行得通?
      

  4.   

    99.99% 的人的计算机支持 session 除非他自己设置禁止 cookies
      

  5.   

    哦,你的session丢失是不是指跨页传递的时候丢失啊?如果是这样的话可以去网上搜索一下相关的文章,好象只要想办法把session_id传递到下个也面就OK了.
      

  6.   

    lymzyc(豆豆) :
          怎样用数据库来保存登录用户信息呢?
          前面开始时我也是用数据库来保存登录用户的:我用一个cur_user表来保存(只有保存当前登录用户),然后再从这个表中取出用户名。但后来我发现如果两个以上的用户同时登录时,用户名都成了最后一个登录的用户名了!
      

  7.   

    用SESSION保存,如果分页则会出现丢失的情况,这时候用隐藏表单可以把值传到下一个页面
      

  8.   

    session不好么
    我一直用session,从来没发生过什么丢失的现象
      

  9.   

    那怎么和用户一一对应呢?比如有两个用户同时在线(aa,bb),要怎样才能区别这两个用户呢?怎么知道当前操作用户是那一个呢?
      

  10.   

    登陆时生成一个session id,登陆成功后吧用户名和session id写再数据库里,然后通过url重写把session id跟在每个链接后面,这样通过get方式就能够把session id进行传递,到了需要的时候就进行判断从数据库里提取出对应的session id的用户名,就能够实现你说的要求了。session id可能根据当前事件生成,给段代码:/*
    函数名称:create_sess_id()
    函数作用:产生以个随机的会话ID
    参    数:$len: 需要会话字符串的长度,默认为32位,不要低于16位
    返 回 值:返回会话ID
    函数作者:heiyeluren
    */
    function create_sess_id($len=32)
    {
    // 校验提交的长度是否合法
     if( !is_numeric($len) || ($len>32) || ($len<16)) { return; }
    // 获取当前时间的微秒
     list($u, $s) = explode(' ', microtime());
     $time = (float)$u + (float)$s;
    // 产生一个随机数
     $rand_num = rand(100000, 999999);
     $rand_num = rand($rand_num, $time);
     mt_srand($rand_num);
     $rand_num = mt_rand();
    // 产生SessionID
     $sess_id = md5( md5($time). md5($rand_num) );
    // 截取指定需要长度的SessionID
     $sess_id = substr($sess_id, 0, $len);
     return $sess_id;
    }
      

  11.   

    heiyeshuwu(黑夜路人):
       
         太谢谢你了,以前我只是想到把用户名存到数据库中,但后来没有发现不行。你的方法可以,准备结帐啦!