Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Фиксация последнего визита 
:(
    Опции темы
WebS
Дата 7.11.2009, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 1.6.2008

Репутация: нет
Всего: -3



На форумах часто сохраяют дату последнего визита.., и помечают темы с новыми сообщениями...

Вопрос: Как сохранить дату последнего посещения? С учётом того что нужно использовать всё время сессии, а не затирать текщим посещением.


--------------------
Услуги web мастера... php+sql, вёрстка, дизайн, программирование, и.д.р
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 7.11.2009, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Не визита, наерное, имеется в виду, а клика. 
Записать время в базу
PM MAIL   Вверх
WebS
Дата 7.11.2009, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 1.6.2008

Репутация: нет
Всего: -3



Цитата

Не визита, наерное, имеется в виду, а клика. 
Записать время в базу
Нет  smile 
--------------------
Услуги web мастера... php+sql, вёрстка, дизайн, программирование, и.д.р
PM MAIL WWW ICQ   Вверх
ЧиоЧигас
Дата 7.11.2009, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 24.10.2009

Репутация: нет
Всего: нет



Проще всего отправить кук юзеру с датой его последнего визита, а затем ее считать.  Чтобы при каждой загрузке страницы не отправлять кук, а только при ее первом показе, можно ввести переменную $_SESSION["vizit"].  Таким образом, кук будет посылаться только если юзер закрыл окна браузера затем  открыл его и повторно перешел к вам на страницу.(или по тайм ауту) 
Вот мой вариант:

Код
<?php
   session_start();
   if (!isset($_SESSION["vizit"]))
   {
     $d = date('d-m-Y, в H:i:s');
     setcookie('date_viz', $d, (time() + 3600*24*30));
     $_SESSION["vizit"] = true;
   }
   $date_viz = (isset($_COOKIE["date_viz"]) ?  $_COOKIE["date_viz"] : 'Неизвесно' );
   echo "Ваш последний визит: $date_viz";
?>




Это сообщение отредактировал(а) ЧиоЧигас - 7.11.2009, 17:33
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 7.11.2009, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



WebS, ну расскажите мне, что вы имеете в виду под словом "визит".
Я с большим интересом послушаю.

ЧиоЧигас, вы правда думаете, что именно так форумы и делают?
PM MAIL   Вверх
ЧиоЧигас
Дата 7.11.2009, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 24.10.2009

Репутация: нет
Всего: нет



Цитата
ЧиоЧигас, вы правда думаете, что именно так форумы и делают?

Я написал проще всего.

Я вам напишу, как я вижу работу форума, а вы меня поправьте, если что не так.
Каждый раз при заходе юзера на форум производится попытка считать  кук, назовем его $_COOKIE["id"].  Этот кук представляет собой уникальный идентификатор. Если кук считан, ищется в БД   данные о юзере по этому id. Потом, в целях безопасности, отправляется $_COOKIE["id"] уже с новым значением, так же обновляются данные о юзере в БД, дата визита, id. 
Если кук $_COOKIE["id"] не считан, значит юзер не зареген или давно уже не бывал на форуме. 
Как-то так.  

PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 7.11.2009, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Это все не имеет отношения к вопросу. Здесь описана банальная авторизация, хотя тоже довольно кустарная. 

Скажу честно. Я думаю, что не обладая практическим опытом в реализации подобной функции или теоретическим опытом в веб-строительстве вообще, вряд ли удастся придумать работающий вариант.
Конкретно в вашем варианте выше есть две принципиальных ошибки, не считая более мелких.

Это сообщение отредактировал(а) Ипатьев - 7.11.2009, 18:16
PM MAIL   Вверх
ЧиоЧигас
Дата 7.11.2009, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 24.10.2009

Репутация: нет
Всего: нет



Ну знаете, не боги горшки лепят. Хотелось бы еще мнения других участников форума услышать.
Цитата
Я думаю, что не обладая практическим опытом в реализации подобной функции или теоретическим опытом в веб-строительстве вообще, вряд ли удастся придумать работающий вариант.


Дайте ссылку, пример или кратко опишите суть вашего решения. Как то размыто высказываетесь (без обид) . 

Цитата
Конкретно в вашем варианте выше есть две принципиальных ошибки, не считая более мелких.

Какие? Я же просил поправить если что не так.

Это сообщение отредактировал(а) ЧиоЧигас - 7.11.2009, 18:34
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 7.11.2009, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



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


PM MAIL   Вверх
ЧиоЧигас
Дата 7.11.2009, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 24.10.2009

Репутация: нет
Всего: нет



Ладно про горшки, вы лучше про ошибки скажите. Мне действительно интерестно. 

PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 7.11.2009, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Я хочу сначала услышать автора топика. 

PM MAIL   Вверх
capitan
Дата 7.11.2009, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: 9
Всего: 13



WebS, на форумах сохраняют последнюю дату не визита, а входа. Думаю теперь понятно, когда в базу летит дата?
PM MAIL WWW ICQ   Вверх
WebS
Дата 11.11.2009, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 1.6.2008

Репутация: нет
Всего: -3





Решил, оч просто smile
При каждом визите время в бд обновляется. А фиксация старого значения производиться через сессию. Т.е если переменная сессии существует, то она не меняется, если её нет - сохраняет значение предпоследнего визита, которое берется из базы. Работа с сессией идёт до обновления базы.
В процессе сессии в независимости от обновлений страниц "время последнего визита" не меняется smile

--------------------
Услуги web мастера... php+sql, вёрстка, дизайн, программирование, и.д.р
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 11.11.2009, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



ЧиоЧигас, одна ошибка в том, что на куках это сделать в принципе невозможно.
Человек может заходить на сайт не с одного компьютера...
А вторую я забыл уже smile
наверное то, что не сохраняется время клика.
PM MAIL   Вверх
MoLeX
Дата 12.11.2009, 06:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(WebS @  7.11.2009,  12:43 Найти цитируемый пост)
Как сохранить дату последнего посещения?

при заходе на форум, скрипт проверяет авторизирован ты или нет. сложно ли добавить Update-запрос если пользователь авторизирован?


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1250 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.