关闭浏览器session自己会注销的吧
或者设置session的时间,到一定时间没有操作session就自动注销
验证码的问题看这个:
http://community.csdn.net/Expert/topic/3092/3092693.xml?temp=.6478235

解决方案 »

  1.   

    楼主的问题主要是用户是否在线的问题吧,看看我的笨方法可不可以:像这种用户是否在线一般通过一个最后活动时间来计算,比如说最近五分钟已经没有看见它活动了,就算它离线了。把你的数据库中增加一个用户最后活动时间。登录时记录下这个时间,更新系统中的最后活动时间,然后在每一个页面通过meta来进行刷新(1分钟一次最好),每次刷新时更新用户的最后活动时间为当然时间。如果为了防止用户重复登录在这种情况下,一般如果用户的最后活动时间与现在的时间相等(理论上),一般是相隔一分钟或者30秒就算用户在线,不进行登录。在用户离开时把它的登录时间进行更新为当然时间-10分钟。比正常的最后活动时间要长一点,就可避免用户刚注销就登录时的该用户已经在线的问题了上面的不知道说清楚了没有,好久没有回答问题了,说不清了
      

  2.   

    如果为了防止用户重复登录在这种情况下,一般如果用户的最后活动时间与现在的时间相等(理论上),一般是相隔一分钟或者30秒就算用户在线,不进行登录。在用户离开时把它的登录时间进行更新为当然时间-10分钟(time()-600)。比正常的最后活动时间要长一点,就可避免用户刚注销就登录时的该用户已经在线的问题了.说明一下系统中的用户时间一般采用unix时间形式,所以存为numeric数值型数据,直接相减就可以,如果楼主用什么不明的可以qq交流:185923958
      

  3.   

    最简单的命令如下
    if($_SESSION['name']=='')
    {
      Header("Location:login.php");
    }