我写了一个脚本,以限制进入我所在区域的会话数量。
所以我们有以下代码:
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中限制了连接的数量,我确实将这个数字与会话数量进行了比较,但是会话的数量实际上是假的。
非常感谢任何形式的帮助。