如何限制连接的会话数

时间:2012-10-23 08:10:10

标签: php session limit

我写了一个脚本,以限制进入我所在区域的会话数量。

所以我们有以下代码:

if ( $d = opendir( session_save_path()  )  ) {
        $count = 0;
        $session_timeout = 3*600;
        while ( false !== ( $file = readdir( $d )  )  ) {
            if ( $file != '.' && $file != '..' ) {
                if ( time()- fileatime(session_save_path() . '/' . $file) < $session_timeout ) {
                      $count++;
                }
            }
        }
    }
    if($count>$societe['max_utilisateurs'])
    {
        $sql="INSERT INTO `session` SET
`temps` = now(),
`login`='".$_SESSION['login']."',
`mouvement`='2'";  
mysql_query($sql) or die;
session_unset();  
session_destroy();  
header('Location: ../');  
exit();  
    }; 

麻烦的是当我回显$ count时它会显示2.但问题是我是唯一在线的用户。我在mysql中限制了连接的数量,我确实将这个数字与会话数量进行了比较,但是会话的数量实际上是假的。

非常感谢任何形式的帮助。

0 个答案:

没有答案