Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: PHP скрипт: "Последний раз вы были тут..."

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
afuno
Отправлено: 25 Июня, 2011 - 21:54:54
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Помогите реализовать этот скрипт, что бы при каждом обновлении страницы, обновлялись данные в таблице, а именно обновлялась дата и время (текущие).

Нужно занести всё в переменную, а её вставить уже в нужное место...
 
 Top
Toxa
Отправлено: 25 Июня, 2011 - 22:34:17
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


Помог: 8 раз(а)

[+]


для начала нужно создать в таблице поле что-то типа `last_visit_date` (DATE), а затем обновлять это поле, скажем, каждый час

PHP:
скопировать код в буфер обмена
  1. // Сначала выводим время последнего посещения
  2. $query = mysql_query("
  3.   SELECT DATE_FORMAT(`last_visit_date`, '%d.%m.%Y %H:%i:%s') as `date`
  4.   FROM`table_name`
  5.   WHERE `id`='{$_SESSION['user_id']}'
  6.   ");
  7. $date = mysql_result($query, 0);
  8. echo "Ваш последний визит был: ".$date;
  9.  
  10. // Потом обновляем поле
  11. $query = mysql_query("
  12.   UPDATE `table_name`
  13.   SET `last_visit_date`=NOW()
  14.   WHERE `id`='{$_SESSION['user_id']}'
  15.   AND `last_visit_date`<DATE_SUB(NOW(), INTERVAL 1 HOUR)
  16. ");


Хотя я бы еще добавил айпи адрес `last_visit_ip` VARCHAR(15):
PHP:
скопировать код в буфер обмена
  1. // Сначала выводим время последнего посещения
  2. $query = mysql_query("
  3.   SELECT DATE_FORMAT(`last_visit_date`, '%d.%m.%Y %H:%i:%s') as `date`,`last_visit_ip`
  4.   FROM`table_name`
  5.   WHERE `id`='{$_SESSION['user_id']}'
  6.   ");
  7. list($date, $ip) = mysql_fethc_row($query);
  8. echo "Ваш последний визит был: $date с ip-адреса $ip";
  9.  
  10. // Потом обновляем поле
  11. $query = mysql_query("
  12.   UPDATE `table_name`
  13.   SET `last_visit_date`=NOW(), `last_visit_ip`='{$_SERVER['REMOTE_ADDR']}'
  14.   WHERE `id`='{$_SESSION['user_id']}'
  15.   AND `last_visit_date`<DATE_SUB(NOW(), INTERVAL 1 HOUR)
  16. ");


Ну а вообще по-хорошему надо бы одбновлять поле, если была начата новая сессия (то есть пользователь закрыл и открыл браузер, или разлогинился и залогинился снова):
PHP:
скопировать код в буфер обмена
  1. // Сначала выводим время последнего посещения
  2. $query = mysql_query("
  3.   SELECT DATE_FORMAT(`last_visit_date`, '%d.%m.%Y %H:%i:%s') as `date`,`last_visit_ip`
  4.   FROM`table_name`
  5.   WHERE `id`='{$_SESSION['user_id']}'
  6.   ");
  7. list($date, $ip) = mysql_fethc_row($query);
  8. echo "Ваш последний визит был: $date с ip-адреса $ip";
  9.  
  10. // Потом обновляем поле если это новая сессия
  11. if(!isset($_SESSION['last_visit_update'])) {
  12. $query = mysql_query("
  13.   UPDATE `table_name`
  14.   SET `last_visit_date`=NOW(), `last_visit_ip`='{$_SERVER['REMOTE_ADDR']}'
  15.   WHERE `id`='{$_SESSION['user_id']}'
  16. ");
  17.  
  18. $_SESSION['last_visit_update'] = TRUE;
  19. }
  20.  


-----
Удобный сервис для хранения файлов
 
 Top
afuno
Отправлено: 25 Июня, 2011 - 22:38:08
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Toxa, спасибо. А можешь написать чисто для этого..

Есть таблица datetime, называется она - last_time. Нужно чтобы при каждом заходе на сайт обновлялась таблица. Пришёл на сайт, посидел, записалось.. Закрыл окно. Потом пришёл, открыл сайт, опять обновилась и т. д.
 
 Top
Toxa
Отправлено: 25 Июня, 2011 - 23:24:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


Помог: 8 раз(а)

[+]


Ну вообще-то форум создан для помощи новичкам, которые разбираются и пытаются что-то сделать сами, а ты уже просишь готовый вариант - это противоречит философии форума. Эта уже работа, которая должна быть оплачиваема.

(Отредактировано автором: 15 Июля, 2014 - 15:08:28)



-----
Удобный сервис для хранения файлов
 
 Top
afuno
Отправлено: 25 Июня, 2011 - 23:25:08
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Toxa, сделал по последнему твоему примеру...
 
 Top
Toxa
Отправлено: 25 Июня, 2011 - 23:37:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


Помог: 8 раз(а)

[+]


Как же все-таки тяжело порою заставить человека работать Язычок


-----
Удобный сервис для хранения файлов
 
 Top
afuno
Отправлено: 25 Июня, 2011 - 23:53:06
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Toxa, Радость
(Добавление)
Скажи, а куда вставлять нужно третью часть? А то у меня не везде пашет... Лучше вставлять в файл, где непосредственно вывод что ли?
(Добавление)
У меня перестал обновлять...
 
 Top
Invert
Отправлено: 26 Июня, 2011 - 13:42:10
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Нояб. 2010  


Помог: 5 раз(а)




Половину работы будет готово, когда вы составите правильную блок-схему, т.е. механизм работы скрипта.
 
 Top
afuno
Отправлено: 26 Июня, 2011 - 13:59:05
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Invert, в том то и дело, что всё вроде бы верно...

PHP:
скопировать код в буфер обмена
  1.                 $query = mysql_query("SELECT last_time FROM portal_users WHERE login='$login'");
  2.                 list($date) = mysql_fetch_row($query);
  3.                
  4.                 if(!isset($_SESSION['last_time'])) {
  5.                 $query = mysql_query("UPDATE portal_users SET last_time=NOW()' WHERE login='$login'");
  6.                
  7.                 $_SESSION['last_time'] = TRUE;
  8.                 }
 
 Top
Toxa
Отправлено: 26 Июня, 2011 - 14:14:09
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


Помог: 8 раз(а)

[+]


а зачем тебе кавычка после NOW() ??? Скопировать чужой код нормально не можешь?
(Добавление)
afuno пишет:

У меня перестал обновлять...


Это триал версия перестала работать Радость


-----
Удобный сервис для хранения файлов
 
 Top
afuno
Отправлено: 26 Июня, 2011 - 14:16:58
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Toxa, ах Радость То есть если убрать кавычку, то должно работать?
 
 Top
Toxa
Отправлено: 26 Июня, 2011 - 15:51:43
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


Помог: 8 раз(а)

[+]


ну ты попробуй! Зачем лишний раз спрашивать?
Если что-то не выходит - кидай сюда код. И обязательно листинг ошибки.


-----
Удобный сервис для хранения файлов
 
 Top
Coder1994
Отправлено: 26 Июня, 2011 - 15:54:11
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




Такое ощущение что на рынок к бабкам попал...
 
 Top
afuno
Отправлено: 26 Июня, 2011 - 17:57:47
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Coder1994, если у тебя дома рынок с бабками, то да - ту попал на рынок к бабкам...
 
 Top
koka
Отправлено: 26 Июня, 2011 - 18:54:47
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




а может cookies использовать удобнее будет???


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB