Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] sygnalizowanie nowosci od ostatniej wizyty jak to dziala
Forum PHP.pl > Forum > Przedszkole
piotrekkr
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?
webdice
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.
piotrekkr
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.
webdice
Inaczej to zrozumiałem, zrób sobie pole last_visit w którym będziesz trzymał czas ostatniej wizyty/akcji.
piotrekkr
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 :/
Crozin
Przed zaaktualizowaniem tego last_visit możesz pobrać jego wartość i zapisać sobie w sesji.
piotrekkr
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 :/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.