Napisałem owy skrypt mający na celu sprawdzanie użytkowników online.
<?php include ('engine/config.php'); include ('lang/en/bloks.php'); $uidc = $_SESSION['user_id']; $sql_un = "SELECT username FROM " . $db_prefix . "users WHERE id='$uidc'"; $un = mysqli_query($dbc, $sql_un); $username = mysqli_fetch_array($un); $unl = $username['username']; if($unl != false) { $sql_uo_u = "UPDATE " . $db_prefix . "users_online SET time='$time_now_uo' WHERE username='$unl'"; mysqli_query($dbc, $sql_uo_u); } else { $sql_uo_a = "INSERT INTO " . $db_prefix . "users_online ('username' ,'time') VALUES ('$unl', '$time_now_uo')"; mysqli_query($dbc, $sql_uo_a); } } $sql_uo_d = "DELETE FROM " . $db_prefix . "users_online WHERE time < '$old_time_uo'"; mysqli_query($dbc, $sql_uo_d); $sql_sun = "SELECT username FROM " . $db_prefix."users_online ORDER BY username"; $sun = mysqli_query($dbc, $sql_sun); if (mysqli_num_rows($sun) != 0) { while($user_name = mysqli_fetch_array($sun)) { } } else { } ?>
Niestety nie zupełnie działa i nie wiem dlaczego... Czy ktoś mógłby zdefiniować co zrobiłem źle?
Baza:
CREATE TABLE `frycms`.`fry_users_online` ( `username` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , `time` INT NOT NULL , PRIMARY KEY ( `username` ) ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Dzięki za pomoc.