| |
|
|
| | в общем нужно сделать так чтобы в списке пользователей показывалась инфа о последнем посещении пользователя (дата и время) вот, как реализовать не приложу ума... буду рад любой помощи... | |
| |
|
|
| |
|
|
| |
для: 10100100
(15.10.2005 в 09:00)
| | | Создавай плюшку, при повторных посещениях - изменяй её, альтернатива через айпи, но он у многих динамический. | |
| |
|
|
| |
|
|
| |
для: $OMEGA
(15.10.2005 в 09:55)
| | | Алгорит такой (это для БД)
1) При посещении страницы:
Проверяешь IP, записываешь время
если такой Ip есть, то изменяешь время, если нет, то создаёшь запись в БД
Теперь если пользователь уйдёт, то там и будет время последнего посещения! | |
| |
|
|
| |
|
|
| |
для: Football
(15.10.2005 в 13:04)
| | | Омега прально написал, ip то у многих динамический, а следовательно если зайдёт один и тот же пользователь... блин чёт я запутался.. а можно каким нить образом через плюшки сделать? но с приминением БД? | |
| |
|
|
| |
|
|
| |
для: 10100100
(15.10.2005 в 09:00)
| | | Вам необходима система OnLine как у нас? Тогда вам помогут ссылки по теме http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=6725 | |
| |
|
|
| |
|
|
| |
для: cheops
(15.10.2005 в 14:07)
| | | да мне нужна подобная система но боюсь что я не понял почти ничего, точнее понять то понял но запутался, Вы можете мне привести рабочий пример и обьяснить его блоками? я только из тех статей понял что нужно ip - шник вскрывать но опять таки он же динамичен... я чёт запутался немного... :( | |
| |
|
|
| |
|
|
| |
для: 10100100
(15.10.2005 в 14:20)
| | | В первую очердь нужно решить вы будете фиксировать всех посетителей или только зарегистрированных. Если вы работаете с зарегистрированными пользователями (как допустим у нас на форуме) тогда вам IP-адреса вообще не понадобятся. | |
| |
|
|
| |
|
|
| |
для: cheops
(15.10.2005 в 14:31)
| | | мне нужно учитывать только зарегеных посетителей... | |
| |
|
|
| |
|
|
| |
для: 10100100
(15.10.2005 в 18:15)
| | | Тогда всё проще, нужно будет только для каждого пользователя обновлять время его последнего посещения. Где хранятся пользователи в базе данных или в текстовом файле? Готова ли у вас система регистрации пользователей? | |
| |
|
|
| |
|
|
| |
для: cheops
(16.10.2005 в 14:14)
| | | система регистрации и авторизации готовы, данные хранатся в БД... | |
| |
|
|
| |
|
|
| |
для: 10100100
(16.10.2005 в 16:21)
| | | Ага, приведите пожалуйста структуру таблицы, где хранится информация о пользователе? | |
| |
|
|
| |
|
|
| |
для: cheops
(16.10.2005 в 16:32)
| | | хорошо, от она!
CREATE TABLE 'user' (
'id_user' INT NOT NULL AUTO_INCREMENT ,
'name' TINYTEXT,
'pass' TINYTEXT,
'email' TINYTEXT,
'homepage' TINYTEXT,
'about' TINYTEXT,
'time' DATETIME DEFAULT NULL ,
'last_time' DATETIME DEFAULT NULL ,
PRIMARY KEY (id_user)
) TYPE = MYISAM;
|
| |
| |
|
|
| |
|
|
| |
для: 10100100
(16.10.2005 в 18:12)
| | | А, ну у вас всё готово, можно обновлять поле last_time при помощи запроса
UPDATE user SET last_time = NOW() WHERE id_user = 1
|
1 - первичный ключ текущего пользователя, как вариант можно ориентироваться на имя, если оно униально
UPDATE user SET last_time = NOW() WHERE name = 'имя_поьзователя'
|
Тогда вывод списка пользователей находящихся OnLine, т.е. тех кто посещал страницу не менее 20 минут назад можно осуществить при помощи запроса
SELECT * FROM user WHERE last_time > NOW() - INTERVAL 20 MINUTE
|
Вместо 20 минут можно использовать более короткий интервал, скажем 10 минут, если это чат. | |
| |
|
|
| |
|
|
| |
для: cheops
(16.10.2005 в 18:26)
| | | вот спасибо! теперь понятно как обновлять! :) Хеоп - Вы Человек с большой буквы! | |
| |
|
|
| |
|
|
| |
для: cheops
(16.10.2005 в 18:26)
| | |
UPDATE user SET last_time = NOW() WHERE name = 'имя_поьзователя'
|
а эту строку куда вставлять, ведь с ней явно чтото ещё сделать надо? а то он мне ошибку выдаёт...
Parse error: parse error, unexpected T_STRING in z:\home\localhost\www\auth.php on line 13 | |
| |
|
|
| |
|
|
| |
для: 10100100
(17.10.2005 в 14:50)
| | | Этот запрос следует передать фукнции mysql_query()
<?php
$query = UPDATE user SET last_time = NOW() WHERE name = 'имя_поьзователя'
if(!mysql_error($query)) exit("Ошибка - ".mysql_error());
?>
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(17.10.2005 в 19:14)
| | | а если в этом скрипте у меня уже переданы значения функции $query ? что тогда? | |
| |
|
|
| |
|
|
| |
для: 10100100
(18.10.2005 в 09:29)
| | | В смысле переданы? | |
| |
|
|
| |
|
|
| |
для: cheops
(18.10.2005 в 14:07)
| | | ну всмысле у меня уже есть значение $query
$query = "SELECT * FROM user";
$ath = mysql_query($query);
if($ath)
{
$user = mysql_fetch_array($ath);
echo "<br>имя = ".$user['name']."<br>";
echo "пароль = ".$user['pass']."<br>";
echo "e-mail = ".$user['email']."<br>";
echo "url = ".$user['homepage']."<br>";
echo "about = ".$user['about']."<br>";
echo "time = ".$user['time'];
}
else
|
| |
| |
|
|
| |
|
|
| |
для: 10100100
(18.10.2005 в 15:37)
| | | А ничего страшного, оно вам после
<?php
$ath = mysql_query($query);
?>
|
уже не нужно, его можно перезаписать и использовать по-новой. Если вам это не нравится назовите переменную с SQL-запросом по другому, например, query_update
<?php
$query_update = UPDATE user SET last_time = NOW() WHERE name = 'имя_поьзователя'
if(!mysql_error($query_update)) exit("Ошибка - ".mysql_error());
?>
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(18.10.2005 в 20:50)
| | | Странно почему то выводит всё равно результаты регистрации со временем регистрации а не последнего посещения... | |
| |
|
|
| |
|
|
| |
для: 10100100
(21.10.2005 в 14:03)
| | | ложная тревога - всё работает... спасибо | |
| |
|
|
| |
|
|
| |
для: 10100100
(15.10.2005 в 14:20)
| | | Если на сайте не будет много посетителей (ну скажем, не более чем 3 в онлайне), то использовать IP вполне можно. По крайней мере на моём сайте в онлайне всегда не более 3 посетителей, и меня система Online (которая схожа с последним визитом) вполне устранивает. Но как привально сказал Cheops надо ещё уточнить, пользователи регестрируются или нет? | |
| |
|
|
| |
|
|
| |
для: Football
(15.10.2005 в 16:30)
| | | IP использовать нельзя из- за динамических IP - ну неужели непонятно? у меня он меняется по пять раз на дню, соответсвенномой утренний айпищник, вполне спокойно могут присвоить другому и если он зайдет на сайт, то будет расцениваться так как будто эьо зашел я, и он получит приветствие типа: прошлое ваше посещение было - 14 дней назад, а он там впервые!!! | |
| |
|
|
| |
|
|
| |
для: $OMEGA
(15.10.2005 в 16:42)
| | | А какйо шанс того, что тот, который взял твой IP зайдёт на сайт? Минимальный! Вообще кроме записи по IP другой я не знаю, если конечно пользователь не регестрируется! | |
| |
|
|
| |
|
|
| |
для: $OMEGA
(15.10.2005 в 16:42)
| | | А какйо шанс того, что тот, который взял твой IP зайдёт на сайт? Минимальный! Вообще кроме записи по IP можно вопользоваться печеньями, но это всё, если конечно пользователь не регестрируется! | |
| |
|
|
| |
|
|
| |
для: Football
(15.10.2005 в 17:18)
| | | Не согласен. Я с другом пользуемся диалапом и постоянно обсуждем кто где был и что видел, так что шанс велик. А ведь мой друг может и своим друзьям об этом сайте рассказать. При этом у нас в районе многие пользуются провайдером, предоставляющим им телефонную связь, т.к. не берут поминутку. | |
| |
|
|
| |
|
|
| |
для: tim_mironov
(17.10.2005 в 21:55)
| | | вот вот - у нас такая же байда! | |
| |
|
|
| |
|
|
| |
для: $OMEGA
(15.10.2005 в 16:42)
| | | вот - согласен!
А шанс есть всегда,например какой нить ламерок который считает себя мега-кулХацкером, может запросто установить IP и попытать навредить порталу... | |
| |
|
|
| |
|
|
| |
для: 10100100
(15.10.2005 в 18:16)
| | | Так, прост ок слову. Всегда найдётся хакер, коорый если захочет, то всё может взломать. От них защиты нет!
Да, тае у тебя регистрация есть? | |
| |
|
|
| |
|
|
| |
для: Football
(16.10.2005 в 09:46)
| | | я ж ниже написал уже! да у меня регистрация есть, нужно чтобы был список зарегиных пользователей онлайн! | |
| |
|
|
| |
|
|
| |
для: 10100100
(16.10.2005 в 10:18)
| | | Ну тогда по тому алгоритму, чт оуже писали вверху. ПОльзователь заходит, таблица в БД обновляется и одновременно старые удаляются! | |
| |
|
|
| |
|
|
| |
для: Football
(16.10.2005 в 15:59)
| | | вот как вот делаются эти действия? | |
| |
|
|
| |
|
|
| |
для: 10100100
(16.10.2005 в 16:20)
| | | Сам код нужен? Если да, то тчоно написы структуру БД или файла. | |
| |
|
|
| |
|
|
| |
для: Football
(17.10.2005 в 07:27)
| | | а я уже выше выложил структуру БД и Хеопс мне подсказал... буду пробовать... | |
| |
|
|