tid?

Tags:    php

Hej.

Jeg har lavet onlinetid på mit community.

Men jeg har det problem at nogen gange bliver man smidt ud hvis man ikke er aktiv der inde.

Jeg har prøvet at løse problemet veda t indsætte følgende java script på min side loggetind.php:

Fold kodeboks ind/udKode 


Så i tid.php har jeg lavet følgende kode:
Fold kodeboks ind/udKode 


Altså det virker okay første gang, men det gir ALT for meget tid anden gang og endnu mere 3 gange osv.
Det er fordi der er et felt der tæller login tiden ialt og det bliver først nulstillet når man logger ud og jeg ville have lavet sårn at man ikke behøves at skulle logge ud for at kunne få opdateret ens onlinetid / mønter! Det i loggetind.php skulle være rigtig nok.

Håber nogen kan hjælpe :D



1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Den gængse måde at overleve disse normale timeouts er at benytte $_COOKIE fremfor $_SESSION. Dog skal du passe på med a) hvad du gemmer i $_COOKIE og b) hvor meget du gemmer. Cookies bliver transporteret mellem server<->client ved hvert eneste sideskift.

Måden jeg normalt gør er, at lave en $_SESSION basseret løsning hvor alle data gemt i $_SESSION også er at finde i min MySQL database. Når du sender en side afsted vedhæfter du så et handle - f.eks. noget ala setcookie("refresh_hash_key", $hash_key, time()+3600, "/"); Hvor $hash_key er nøglen ned i din MySQL database.

I toppen af hver side du sender afsted tjekker du så om $_SESSION er udløbet - er den det læser du blot alle data fra datasen ved brug af $_COOKIE['refresh_hash_key'].

Ovenstående giver dine brugere 60 minutters betænkningstid.

Det er også på denne måde man kan lave disse "[x] Gem mit kodeord forevigt" som ses på stortset alle login-sider.



t