Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > User Online


Автор: Nonai 26.12.2003, 12:34
Как определить находиться ли юзер на сайте или нет, когда у меня есть его IP ?
IP в базе MySQL , но без Cookies

Автор: DENNN 26.12.2003, 12:41
На этом IP через NAT может и 100 человек сидеть, либо чел уже выключился, а сервак с NAT'ом продолжает работать, поэтому пинг ip ничего не дает.

Автор: Nonai 26.12.2003, 12:50
Как определяет этот форум?

Автор: Master 26.12.2003, 12:52
Самое простое это сделать систему обновления User листа для всех пользователей...
пишеш в базу время обнавление какого-то юзера, потом каждый обнавляя страницу активизирует какой-нибудь модуль, который смотрит не вышел ли лимит времени обновления каждого юзера... при обновлении страницы конкретно каждый юзер естественно обновляет время своего последнего обновления...

Автор: MuToGeN 26.12.2003, 13:18
> Как определяет этот форум?
С помощью сессий

Автор: Vaulter 26.12.2003, 13:19
сессий...
упс, MuToGeN меня опередил )

Автор: Nonai 26.12.2003, 13:21
Мне бы...... скрипт smile.gif

Автор: Nonai 26.12.2003, 14:39
или два smile.gif

Автор: Master 26.12.2003, 15:26
в раздел "Работа"
$20 напишу модуль, только ты сначала должен сказать в каких целях собираешся его использовать.

Автор: Nonai 26.12.2003, 18:00

$res = mysql_query("SELECT * FROM users WHERE lastvisit>".time()-300, $dbh);
while($user_obj = mysql_fetch_object($res)){
echo "$user_obj->name at $user_obj->ip, last click at ".date('H:i:s', $user_obj->lastvisit)."<br>";
};
$res = mysql_query("UPDATE users SET lastvisit='".time()."', ip='".$REMOTE_ADDR."' WHERE name='".$username."'", $dbh);
if(mysql_affected_rows() != 1) $res = mysql_query("INSERT INTO users (lastvisit, ip, name) VALUES ('".time()."', '$REMOTE_ADDR', '$username')", dbh);


Да я и сам могу smile.gif
Вроде так

Автор: arial 26.12.2003, 23:01
Nonai, еще сюда глянь:
Код
DELETE FROM `table` WHERE `tstamp` < DATE_SUB(NOW(), INTERVAL 15 MINUTE);
INSERT INTO `table` (`tstamp`, `ip`) VALUES (NOW(), "$_SERVER['REMOTE_ADDR']");
SELECT COUNT() AS "count" FROM `table` WHERE 1;
IMHO так грамотней.

Автор: arial 26.12.2003, 23:03
Цитата(Master @ 26.12.2003, 16:26)
в раздел "Работа"
$20 напишу модуль, только ты сначала должен сказать в каких целях собираешся его использовать.

Master, съел, плакали твои $20.
Билл Гейтс, блин! wink.gif

Автор: Master 29.12.2003, 10:43
Цитата
Билл Гейтс, блин!

Я ещё пока только учусь... biggrin.gif

Автор: BloodLetter 1.1.2004, 19:39
Цитата(Master @ 29.12.2003, 10:43)
Цитата
Билл Гейтс, блин!

Я ещё пока только учусь... biggrin.gif

Знаешь, я в тебя верю. Ты, по-моему, затмишь Великого и Ужасного Гейтса...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)