Server side timer, kada se izvršava PHP kod?
02.11.2010. u 16:48 · pre 194 meseci
#1
Evo ovako, situacija je slijedeca:
Pravim neku vrstu online kviza u PHP-u, svako pitanje je vremenski ograniceno na 10 sekundi.
Pravljenje timer-a u javascripti ili flashu mi ne odgovara jer se lako moze prevariti.
Znaci jedino sto mi je preostalo je neka vrsta server side timer-a. Problem sam mislio rijesiti na slijedeci nacin:
uvesti sesijsku promjenjivu u koju zapisem vrijeme kada se prikaze pitanje i onda kada stigne odgovor provjeravam da li je trenutno vrijeme manje od te sesijske promjenjive uvecane za 10 sekundi. U isto vrijeme uvesti neku javascriptu sa odbrojavanjem cija je jedina svrha da korisnik vidi timer i da ga obavjesti kada je vrijeme isteklo.
Problem tj pitanje koje imam je slijedece: Kada uvedem tu sesijsku varijablu $_SESSION['vrijeme'] = time() negdje u php kodu ona se moze inicijalizirati prije nego se ucita citava stranica i timer u javascripti, tako da moze doci do razlike u vremenima u php-u i javascripti.
Da li postoji nacin da php provjeri da li se sve ucitalo i tek onda namjesti ovu promjenjivu? Palo mi je na pamet da javascript to odradi i posalje na server signal da se varijabla namjesti, ali onda se i to moze prevariti, tako da bi i to bilo uzalud.
Ovo je vise pitanje za nekog ko poznaje http protokol, mene zanima kada neko ima sporu vezu pa mu recimo browser stane na pola, gdje je ustvari zapelo, da li je recimo php kod izvrsen, a zapelo negdje izmedju?
Da li bi problem bio rjesen ako bi varijablu namjestio u zadnjoj liniji koda, nakon sto uradim echo citavog html-a?
Pravim neku vrstu online kviza u PHP-u, svako pitanje je vremenski ograniceno na 10 sekundi.
Pravljenje timer-a u javascripti ili flashu mi ne odgovara jer se lako moze prevariti.
Znaci jedino sto mi je preostalo je neka vrsta server side timer-a. Problem sam mislio rijesiti na slijedeci nacin:
uvesti sesijsku promjenjivu u koju zapisem vrijeme kada se prikaze pitanje i onda kada stigne odgovor provjeravam da li je trenutno vrijeme manje od te sesijske promjenjive uvecane za 10 sekundi. U isto vrijeme uvesti neku javascriptu sa odbrojavanjem cija je jedina svrha da korisnik vidi timer i da ga obavjesti kada je vrijeme isteklo.
Problem tj pitanje koje imam je slijedece: Kada uvedem tu sesijsku varijablu $_SESSION['vrijeme'] = time() negdje u php kodu ona se moze inicijalizirati prije nego se ucita citava stranica i timer u javascripti, tako da moze doci do razlike u vremenima u php-u i javascripti.
Da li postoji nacin da php provjeri da li se sve ucitalo i tek onda namjesti ovu promjenjivu? Palo mi je na pamet da javascript to odradi i posalje na server signal da se varijabla namjesti, ali onda se i to moze prevariti, tako da bi i to bilo uzalud.
Ovo je vise pitanje za nekog ko poznaje http protokol, mene zanima kada neko ima sporu vezu pa mu recimo browser stane na pola, gdje je ustvari zapelo, da li je recimo php kod izvrsen, a zapelo negdje izmedju?
Da li bi problem bio rjesen ako bi varijablu namjestio u zadnjoj liniji koda, nakon sto uradim echo citavog html-a?