![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 1.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jestem w trakcje pisania modułu do cms'a którym ma być forum i napotkałem jeden czysto teoretyczny problem:
Śledzenie tego czy user odwiedził już dany topic. Z racji tego że całość m być jak najbardziej lekka doszedłem do pewnego rozwiązania lecz nie jestem pewien czy uznacie jest dobre, całość postaram się przedstawić jak najbardziej zrozumiale:
Napotkałem kilka drobnych problemów co gdy user przeloguje sie na inne konto? na którym ma zaznaczone posty jako nie przeczytane? czy to rozwiązanie jest dobre czy nie? a moze dobre tylko dla niezalogowanych userów? jak sprawdzić czy user ma nieprzeczytane posty w kategorii a nie chce listować wszystkich... Czy może wydajniej będzie sprawdzać dane z DB? ps. Jeśli nie masz zdania nie pisz tutaj nie lubię spamu, floodu itd.. Ten post edytował Armano 1.11.2011, 14:09:35 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie przechowuj informacji na temat daty ostatniej wizyty w ciastku, w ciastku przechowuj ID sesji a to kiedy ostatni raz user był zalogowany przechowuj w sesji, wtedy przelogowanie na inne konto nie będzie stanowić jakiegoś problemu. W sumie możesz te ciastko niszczyć przy wylogowaniu, lub niszczyć nawet przed samym logowaniem.
Generalnie z tego co się orientuje są 2 metody na wyróżnienie wątków/postów których user nie przeczytał: - tak jak ty robisz, czyli porównywanie powiedzmy ostatniej daty aktualizacji wątku, z datą ostatniej wizyty usera - tabela w której są przechowywane informacje na o nie przeczytanych wątkach/postach dla każdego usera z osobna obie metody nie są idealne, jedna średnio dobrze sprawdza się podczas aktualizacji czasu ostatniej wizyty usera, druga pochłania spore ilości miejsca w bazie. Dlatego trzeba wybierać co będzie bardziej nam odpowiadać. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 10:40 |