Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/mysql] sygnalizowanie nowosci od ostatniej wizyty jak to dziala, jak to dziala np na phpbb
piotrekkr
post
Post #1





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Witam. Zastanawiam się jak wykonać logowanie żeby łatwo można było sygnalizować zmiany. Tak jak to jest np na forum phpBB gdzie np zalogowałem się wczoraj z zapamiętywaniem i posziedziałem na forum z godzine wyłączyłem przeglądarke i dzisiaj otwieram i nie loguje się (automatycznie jestem zalogowany) i odrazu mam zasygnalizowane zmiany w działach forum. Chodzi mi o to jak to jest realizowane. Jak narazie do głowy mi przychodzi coś takiego ze przy logowaniu zapisuje dane do tabeli:
  1. CREATE TABLE session (sess_id INT(11) UNSIGNED NOT NULL PRIMARY KEY,
  2. user_id INT(11) UNSIGNED NOT NULL, last_login INT(11) NOT NULL)

w pole last_login ostratnią date logowania i pokazuje wszystko co jest nowsze niż ostatnia data logowania. To by było dobre jeśli nie było by zapamiętywania. Właśnie nie bardzo wiem jak to zrobić z zapamiętywaniem :/ Jakieś pomysły?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
webdice
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Co przeszkadza Ci zapamiętywanie? Rekordy z tabli z zalogowanymi użytkownikami też mają czas ważności, po jakimś czasie są usuwane i na tej podstawie aktualizujesz pole last_login.
Go to the top of the page
+Quote Post
piotrekkr
post
Post #3





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Po to mam zapamiętaj żeby nie pamiętało przez godzine tylko przez np miesiąc więc nie usune wpisu z sesji bo nie będzie działać zapamiętywanie.
Go to the top of the page
+Quote Post
webdice
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Inaczej to zrozumiałem, zrób sobie pole last_visit w którym będziesz trzymał czas ostatniej wizyty/akcji.
Go to the top of the page
+Quote Post
piotrekkr
post
Post #5





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Ok tylko teraz powinno być coś takiego że ostatnią akcję zapisuje po każdej akcji. Czyli np po 1 dniu nieobecności wchodzę bez logowania bo jestem zapamiętany i automatycznie (ponieważ wykonałem akcję) zmienia mi się pole last_visit w bazie na aktualny czas czyli nie pokaże mi żadnych nowości bo czas ostatniej wizyty jest ustawiony na teraz a nowości pokazuje tylko z większym czasem :/
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Przed zaaktualizowaniem tego last_visit możesz pobrać jego wartość i zapisać sobie w sesji.
Go to the top of the page
+Quote Post
piotrekkr
post
Post #7





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


ok to już jest jakis pomysł tylko teraz jak zdecydować czy pobierac last_visit do sesji czy tylko zwiększyć? Wystarczy sprawdzic czy w sesji jest ustawiona zmienna i jak nie to wtedy podstawic? Dobrze myśle? Wlaśnie sie tak zastanawiam ile sesja trwa na serwerze i czym to można ustawic. Bo ciastko sesji wiem jak ustawić tylko nie wiem jak z serwerem. Właśnie przejrzałem dokumentacje sesji i nie widzie jako takiej funkcji :/

Ten post edytował piotrekkr 1.05.2008, 22:15:02
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 11:28