举个例子 :http://forum.csdn.net/PointForum/Forum/TopicList.aspx?Alias=Java_WebDevelop&ListType=UnClosedList&page=2在做论坛留言的翻页时 每翻一页 Id值就会加1但是我自己测试时  故意把Id改的很大  超出页数范围!它就报错 怎么办?、请教高手解决 这个问题!问题二在做账号登录时  自己测试发现登录两个同样的账号 也可以!  这是不合理的 如何解决这个bug呢?

解决方案 »

  1.   

    你根据page 来查询的时候判断
    $page=isset($_GET['page'])?intval($_G['page']):'';
    $result=mysql_query("select * form table limit ..");

    if(mysql_num_rows($result)>0)
    {
      //执行循环
    }else
    {
      echo "没有该页数";
    }
      

  2.   

    登录之后将用户名保存到session里面,这样每次登录之前检查session是否存在该用户,如果存在就提示改用户已经登录...
      

  3.   

    session是单用户的?记录了又乍样??应该记录在 db 里。
    不过这样要处理一些特发事件。
    这个问题比较难处理。
      

  4.   

    如果按你说的记录在DB里,那要是用户下线了,那不就还要在记录一次下线信息吗.
    session是保存在服务器端的,只要你服务器打开了,就可以判断,不用写在DB里,你用自己的机器打开一个网页不要关闭,然后登录其他用户进入网页就可以看到,每个用户只能有一位在线,等下线后才能用用相同的登录
    用session保存用户登录信息,下线后销毁此用户session.
    就可以避免楼主的问题.
    具体操作:用户对象包含:用户名,密码(封装就不说了)
        if( (用户类型转换)session["myuser"]==null){
       返回登录页面,并提示该用户已存在}
    if(登录成功){
        session["myuser"]=用户对象;
    }else{
        .....
    }
      

  5.   

    在做账号登录时 自己测试发现登录两个同样的账号 也可以! 这是不合理的 如何解决这个bug呢?$_server['php_remoteaddr']限定ip地址
      

  6.   

    第二个问题,建议百度“单点登陆”,不是$_session就能解决的