Autor | Zpráva | ||
---|---|---|---|
sloncz Profil |
Zdravím, lámu si už dva dny hlavu s tím, že nevím, jak udělat automatické odhlášení třeba po 15 minutové neaktivitě. Nechci po vás celý script, jen návrh, jak to pomocí php zpracovat.
Napadlo mě, že po přihlášení by se do SQL tabulky uložil aktuální čas+nick přihlášeného a vždy při aktualizaci stránky by se zkontrolovalo, zda rozdíl mezi posledním zápisem času a aktuálním časem je alespoň 15minut a pokud yb to tak bylo, tak by se provedlo odhlášení. Ovšem problém je, že toto se mi nedaří zprovoznit. Nějaké jiné nápady? :) |
||
jenikkozak Profil |
#2 · Zasláno: 27. 11. 2014, 20:48:27
Co se ti na tom odhlašování nedaří? Tento princip by totiž zvolit šel.
|
||
sloncz Profil |
#3 · Zasláno: 27. 11. 2014, 20:57:27
Nějak se nemohu dostat k tomu, jak aktualizovat čas zase na aktuální pokud je čas mezi načtením stránky méně jak 15 minut. Nevím jak zapsat tu podmínku, aby se čas aktualizoval jen v případě, že čas je menší jak 15 minut.
|
||
IdemeNaHavaj Profil |
sloncz:
„jak aktualizovat čas zase na aktuální pokud je čas mezi načtením stránky méně jak 15 minut“ if($cas_v_databaze < (time()+((1000*60)*15))){ # cas je mensi ako 15 minut, tu aktualizu cas } else { # cas je vacsi ako 15 minut, tu urob odhlasenie } |
||
sloncz Profil |
#5 · Zasláno: 27. 11. 2014, 21:11:07
Ano, ale při načtení stránky se provede INSERT do tabulky s aktuálním časem. Já potřebuji vymyslet podmínku, která mi ten čas zapíše do databáze pouze jednou při prvním načtení a pak už se ten příkaz nebude používat - bude se totiž už kontrolovat čas z databáze a aktualizovat jen přes tu podmínku.
|
||
IdemeNaHavaj Profil |
#6 · Zasláno: 27. 11. 2014, 21:17:48
sloncz:
ja to pouzivam nejak takto $existencia = mysqli_fetch_object($mysqli->query("SELECT id FROM tabulka WHERE nick = '$nick' LIMIT 1"))->id; if($existencia){ # UPDATE } else { # INSERT } |
||
sloncz Profil |
#7 · Zasláno: 27. 11. 2014, 21:27:17
Skvěle, vůbec mě nenapadlo kontrolovat to podle sloupku s ID záznamu. Děkuji moc :)
|
||
Časová prodleva: 10 let
|
0