我的意思就是,两个用户以不同的身份(就是ID)同时登录,都想往一个表中写入自己的姓名(姓名可以通过ID在另一个表中查到),这个表中有存放这两个用户姓名的两个字段,当这个用户同时在线时,如何能把他们自己的姓名正确写到数据库中?请高手指教

解决方案 »

  1.   

    或者换种说法,一个用户以他自己的ID经过认证后登录,不下线,另外一个用户以另外一个ID登录,此时第一个用户就遗失自己的ID,如何解决这个问题?谢谢!
      

  2.   

    “一个用户以他自己的ID经过认证后登录,不下线,另外一个用户以另外一个ID登录,此时第一个用户就遗失自己的ID”
    是要让“第一个用户”失效吗?为什么要这样?
    如果是“此时第一个用户就遗失 了 自己的ID”这可能吗?各人有各人的ID,互不干扰
      

  3.   

    to xuzuning(唠叨):
       我是说当第二个人登陆后,此时如果第一个人想显示一下自己的ID,发现已经不是自己的ID拉,这个问题怎么解决?谢谢!
      

  4.   

    你是说通过“姓名”反查ID时不对了吗?
    为何不在登录时就记下呢?ID不是也要记下的吗?
      

  5.   

    问题是这样的,甲用自己的ID登录后,可以通过ID查找到自己的姓名;而在甲未退出时,乙用另外一个ID登录后,乙也可以通过自己的ID查到自己的姓名,可是如果这个时候甲要重新利用自己的ID查找自己的姓名,却发现正在使用的这个ID已经不是自己的ID拉。如何解决这个问题?
      

  6.   

    在你的这个系统中,你只保证了ID的唯一性。并没有保证姓名的唯一性。既然你允许同名用户登录,所以:
    1、在登录成功后用session保留ID和姓名
    2、在需要姓名时不是从表中查找而是直接重session读取
    3、你可能需要重新组织用户状态的登记,这将可能改变整个的处理流程
      

  7.   

    to  xuzuning(唠叨) 
    你可能还没有明白我的意思:有两个用户,甲用户以ID(比如说aa)登录数据库,他在修改一个表以后,需要往这张表中添加自己的名字(可以通过ID查询);此时甲不退出,另一个用户乙以ID(比如说bb)登录数据库,他也修改其中的一个表(不一定和甲是同一张表),并往这张表中添加自己的名字(也可以通过bb查询到),这样以后,用户甲如果再一次操作数据库中的表,再往其中插入自己的名字(通过ID aa来查询用户甲的名字),此时发现表示用户ID的变量已经是空的,这个问题如何解决?很急呀,谢谢!不够可以加分