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.SU

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


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

> Без описания
Babolex
Отправлено: 13 Февраля, 2013 - 17:05:20
Post Id


Новичок


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


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




Нужно что бы с личном кабинете показывалось сколько дней ты провел на сайте. К примеру зарегистрировался я два дня назад и у меня показывает што я пробыл на сайте 2 дня.
Собственно как это сделать и если можно напишете пример.
 
 Top
philimon
Отправлено: 13 Февраля, 2013 - 18:31:35
Post Id


Новичок


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


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




Допустим, в базе данных дата регистрации хранится в формате datetime, тогда
берем это(у меня в переменной $date) значение и делаем следующее:

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $d = explode(' ', $date);
  4. $arrDate = explode('-', $d[0]);
  5.  
  6. $time = mktime() - mktime(0, 0, 0, $arrDate[1], $arrDate[2], $arrDate[0]);


в переменной $time получаем количество секунд, прошедших с момента регистрации. Ну и как перевести это значение в дни, думаю, труда не составит
 
 Top
Babolex
Отправлено: 14 Февраля, 2013 - 05:34:45
Post Id


Новичок


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


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




И это все больше здесь никакие значения менять не надо?
 
 Top
philimon
Отправлено: 14 Февраля, 2013 - 05:57:32
Post Id


Новичок


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


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




Что вас смущает? Попробуйте использовать код, если что-то не получится - пишите
 
 Top
Babolex
Отправлено: 14 Февраля, 2013 - 06:20:52
Post Id


Новичок


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


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




Ну в смысле код перекинуть как есть?
 
 Top
imya
Отправлено: 14 Февраля, 2013 - 07:30:11
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


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




Это лишь часть кода, не полный, остальное сами не допишите?


-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 Top
Babolex
Отправлено: 14 Февраля, 2013 - 13:30:07
Post Id


Новичок


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


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




imya пишет:
остальное сами не допишите?

Знал бы што писать =)
Можно для начинающих по подробней што и куда.

(Отредактировано автором: 14 Февраля, 2013 - 13:31:21)

 
 Top
imya
Отправлено: 14 Февраля, 2013 - 13:40:31
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


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




С помощью функции http://www.php.su/date " target="_blank">date в переменную $date загоняете текущую дату. Когда пользователь регистрируется, его дата регистрации заносится в поле бд. При заходе в личный кабинет в запросе на выборку сравниваете дату регистрации с датой текущей и если текущая больше - выводите её в нужном вам формате.


-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 Top
esterio
Отправлено: 14 Февраля, 2013 - 15:46:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




а не проще ли будет работать с UNIX TIMESTAMP, делов то.
PHP:
скопировать код в буфер обмена
  1. $register_time = '02.02.2013';
  2. $current_time = time();
  3. $days = 0;
  4. if ((($timestamp = strtotime($register_time)) === false) && $timestamp < $current_time)
  5.         $days = ceil(($current_time - $timestamp) / (60 * 60 * 24));
  6.  
  7. echo $days;


И еще
Цитата:
strtotime до версии PHP 5.1.0 вместо false необходимо было сравнивать со значением -1

(Отредактировано автором: 14 Февраля, 2013 - 15:55:07)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB