Eredmény: 1 - 9 (9) összesen

Téma: Utolsó látogatás

  1. #1
    Mentor hetes logója
    Csatlakozott
    09-04-17
    Hozzászólás
    422
    Begyűjtött 65 köszönetet
    54 hozzászólásával

    Alapbeállítás Utolsó látogatás

    Helló!
    Van nekem egy login rendszerem, amit kábé egy éve fejlesztgetek, toldozgatok-foltozgatok. Alapvetően egyszerű php-mysql az egész a szokásos dolgokat tudja. Akarok bele csinálni egy "Új cikkek" oldalt, ami a user legutolsó látogatása óta megjelent híreket mutatná. Van benne már most is egy utolsó látogatás funkció, ami minden egyes lapletöltésnél frissíti time()-al a user profilját. Ezzel az a gond, hogy az új cikkekhez érkezve már nem lesz friss cikk amit meg lehetne jeleníteni, mert az utolsó látogatás éppen akkor van amikor a lapra tévedett. :-)
    Szerintetek ezt hogyan érdemes megcsinálni? A legépkézlábabb ötletem idáig az volt, hogy egy plusz mezőben letárolnám az eggyel előtti látogatás időpontját, de azt csak fél naponta frissíteném.
    Itt a fórumon nem igazán tudtam megfejteni hogyan működik az Új hozzászólások rész, de olyasmit szeretnék.



  2. #2
    li
    li nem elérhető
    mint Trinity li logója
    Csatlakozott
    08-09-18
    Hozzászólás
    321
    Begyűjtött 4 köszönetet
    3 hozzászólásával

    Alapbeállítás re: Utolsó látogatás

    ha nincs új cikk, akkor a legújabb cikket jeleníti meg pl.



  3. #3
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.605
    Begyűjtött 1.332 köszönetet
    828 hozzászólásával

    Alapbeállítás re: Utolsó látogatás

    Idézet hetes eredeti hozzászólása Hozzászólás megtekintése
    Itt a fórumon nem igazán tudtam megfejteni hogyan működik az Új hozzászólások rész, de olyasmit szeretnék.
    nem ismerem annyira a vbulletin, de ahogy en latom egy cookieban menti le hogy mit neztel meg. neked is ezt javaslom



  4. #4
    Törzsvendég
    Csatlakozott
    09-01-29
    Hozzászólás
    124
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Utolsó látogatás

    Még esetleg olyat tudsz csinálni AJAX segítségével, hogy amikor elnavigál a Te domainedről, csak akkor frissíted az utolsó látogatás időpontját, valamint akkor is, amikor a kijelentkezésre kattintott.



  5. #5
    Bölcs huncyrus logója
    Csatlakozott
    07-04-26
    Hely
    EU :)
    Hozzászólás
    519
    Begyűjtött 4 köszönetet
    4 hozzászólásával

    Alapbeállítás re: Utolsó látogatás

    ez utobbihoz nem kell ajax. <body onload és unload eseményére hívod meg.

    amúgy itt a forumban sql alapon bevizsgálja, hogy mit néztél meg, és legutolsó látogatásod óta mi volt az új. ha nem volt azóta, akkor azokat írja ki, amelyek újak számodra, azaz nem néztél bele a témába már multkor sem.

    time-os frissités helyett inkább a date("U") -t ajánlom, (ugyanaz csak pepitában) . csinálsz egy count lekérdezést, hogy van-e az adatbázisban olyan ami frissebb az utso belépésnél. ha nincs akkor az utolso x darabot kéred le. (ezt meg lehet csniálni 1 lekérdezésben is, de nem akarlak ilyennel terhelni).


    Cyrusmagus.hu - Informatika, Fantasy, Blog, Irások

  6. #6
    kow
    kow nem elérhető
    KowDerMei$ter kow logója
    Csatlakozott
    07-05-09
    Hely
    Budapest
    Hozzászólás
    1.447
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Utolsó látogatás

    Ha jól értem az a gond, hogy frissíted az utolsó látogatás idejét time() függvénnyel és belépés után nincs friss cikk számára.

    A megoldás roppant egyszerű, cseréld meg a sorrendet:
    - belépés után kérdezd le mikor lépett be utoljára.
    - kérd le az azóta publikált cikkek ID-ját, majd egy tömbként tárold session-ben
    - csak ezek után frissítsd az utolsó látogatás időpontját time()-al.



  7. #7
    Mentor hetes logója
    Csatlakozott
    09-04-17
    Hozzászólás
    422
    Begyűjtött 65 köszönetet
    54 hozzászólásával

    Alapbeállítás re: Utolsó látogatás

    Idézet kow eredeti hozzászólása Hozzászólás megtekintése
    Ha jól értem az a gond, hogy frissíted az utolsó látogatás idejét time() függvénnyel és belépés után nincs friss cikk számára.

    A megoldás roppant egyszerű, cseréld meg a sorrendet:
    - belépés után kérdezd le mikor lépett be utoljára.
    - kérd le az azóta publikált cikkek ID-ját, majd egy tömbként tárold session-ben
    - csak ezek után frissítsd az utolsó látogatás időpontját time()-al.
    Na pont ez a probléma. Ez a session dolog már jól hangzik. A session mennyi ideig marad meg a szerveren? Negyed óra? Gondolom beállítástól függ. Tehát ha elnavigál az emberünk, de visszanéz 5 perc múlva még meglesz?

    Ha jól veszem ki a szavaidból huncyrus, akkor a fórum (ez) letárolja sqlben azt a témát amit már megnéztem? Nem pazarlás ez egy kicsit? Mármint erőforrásilag? Ajaxxal nem akarok bohóckodni.
    A date('U') miért jobb? Nem ugyanazt adja mint a time()?



  8. #8
    kow
    kow nem elérhető
    KowDerMei$ter kow logója
    Csatlakozott
    07-05-09
    Hely
    Budapest
    Hozzászólás
    1.447
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Utolsó látogatás

    Igen, meglesz. Általában 30perc a session timeout, de átállíthatod a szerveren.

    mondok mégjobbat idő update-re:
    UPDATE users SET last_visit = UNIX_TIMESTAMP() WHERE userID = 2



  9. #9
    Mentor hetes logója
    Csatlakozott
    09-04-17
    Hozzászólás
    422
    Begyűjtött 65 köszönetet
    54 hozzászólásával

    Alapbeállítás re: Utolsó látogatás

    Idézet kow eredeti hozzászólása Hozzászólás megtekintése
    Igen, meglesz. Általában 30perc a session timeout, de átállíthatod a szerveren.

    mondok mégjobbat idő update-re:
    UPDATE users SET last_visit = UNIX_TIMESTAMP() WHERE userID = 2
    Az idő meghatározására már van három nagyszerű függvényünk. Kérdés, hogy melyiket érdemes használni? Bár ez huszadrangú kérdés azt hiszem.

    Köszi a tippeket, azt hiszem össze tudom hozni ezek alapján.



A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •