Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Forum - mechanizm oznaczania tematow jako przeczytane, jw
ElemenT
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 29.03.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam,

Jestem na etapie konczenia pisania forum jednak zostalo mi pare dupereli do dopisania m.in. oznaczanie czy ktos przeczytal dany temat czy nie.

Wymyslilem taki algorytm :

1. sprawdzam date ostatniego logowania lub wejscia (w zaleznosci czy jestem zalogowany czy nie)
2. wstepnie zaznaczam tematy jako nieprzeczytane od tamtego czasu
3. tematy obejrzane zaznaczam jako przeczytane (np zapisujac do cookiesa co widzialem, moze ew z jakas data)

Ma ktos jakies propozycje jak taki algorytm rozwinac ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


- Gość wyświetla stronę
--- Sprawdzamy czy sesja dla tego użytkownika została utworzona
----- Jeśli nie, to sprawdzamy, czy zostało wysłane ciasteczko z datą "ostatniej akcji" użytkownika
------- Jeśli nie: zapisujemy obecną datę do sesji (jako "ostatnia wizyta")
------- Jeśli tak: zapisz datę "ostatniej akcji" z ciasteczka do sesji jako "ostatnia wizyta"
----- Zapisujemy do sesji drugą datę, aktualną (jako "ostatnia akcja")
----- Oznaczamy wszystkie posty napisane między "ostatnia wizyta" a "ostatnia akcja" jako nieprzeczytane
----- Wysyłamy ciasteczko z "ostatnią akcją" użytkownika
--- Jeśli sesja została już wcześniej utworzona, to:
----- Aktualizujemy datę "ostatniej akcji" ("ostatnią wizytę" zostawiamy w spokoju)
----- Oznaczamy wszystkie postu napisane między "ostatnia wizyta" a "ostatnia akcja" jako nieprzeczytane *
----- Wysyłamy ciasteczko z obecną datą jako "ostatnia akcja"


* Dodatkowo, żeby podczas przeglądania strony w ramach jednej sesji gościowi nie wyświetlały się dopiero co przeczytane posty jako nieprzeczytane, trzeba będzie dodawać ich (przeczytanych w ramach tej sesji postów) ID do sesji i w miejscu oznaczonym gwiazdką wyłączać te posty z listy nieprzeczytanych.

Jedyny mankament tego rozwiązania:
- Gość wchodzi na strone
- Ma 5 postów nieprzeczytanych
- Czyta 3 z nich
- Wyłącza przeglądarkę
- Wchodzi na stronę ponownie
- Nie widzi już tych 2 postów jako nieprzeczytane
Ale jeśli gościom będzie takie zachowanie forum przeszkadzało, to zawsze się mogą zarejestrować (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)


Dla zalogowanych użytkowników zrobiłbym tak jak pisałem wyżej - na bazie danych



A co do ikonek przeczytany/nieprzeczytany post to jeśli mają one inne nazwy, to powinny się zmieniać razem ze statusem postu (przeczytany/nieprzeczytany). Jeśli tego jakimś cudem nie robią, to trzeba byłoby wysłać do przeglądarki nagłówki, żeby nie trzymał tych obrazków w cache.

Ten post edytował Kicok 5.08.2007, 09:44:18
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 21:34