Autor Zpráva
MilanJ
Profil
Pracuji v PHP+MySQL a potřeboval bych nějak zařídit, aby se na stránce zobrazoval čas serveru, ne lokální čas na PC.
Pracuji na aukci, kde se v průběhu aukce zobrazuje aktuální čas do konce aukce.
A protože může mít uživatel svůj čas a datum neaktuální, chci, aby se zobrazoval čas serveru, který by byl pro všechny stejný.

Poradí někdo jak na to?
YoSarin
Profil
MilanJ
pomocí time();? nebo je potřeba aby se ten čas aktualizoval každou minutu / sekundu?
Anonymní
Profil *
Každou sekundu.:-/
MilanJ
Profil
Každou sekundu... Předpokládám, že pomocí time() zjistím aktuální čas na serveru, ale zbytek by měl být JavaScript. Ale jak je propojit?
souki
Profil
můžeš třeba vygenrovat stránku v php a javascript pak bude každou sekundu k původnímu času přičítat 1... původní čas se vypsal přes php... jestli to chceš přesněji tak jedině přes ajax
souki
Profil
= zapomněl sem si zatrhnout Oznámení na email =
Meldo
Profil
Alebo by si mohol pouzit iframe kde by bol len ten datum a kazdu sekundu refreshovat ten iframe. Neni to sice elegantne riesenie, ale mohlo by byt funkcne.
Joker
Profil
Meldo
To ne že není elegantní řešení, to je dost zvěrstvo ;)

Osobně bych to řešil Javascriptem, který by časovaně po sekundě zvyšoval čas o 1s. No a inicializace té proměnné by se prováděla skriptem na straně serveru, něco jako:
<?php echo('<script type="text/javascript">var cas = '.time().';</script>'); ?>

Akorát to nebude úplně nejpřesnější, tipoval bych odchylku tak do pěti sekund za minutu.
Pokud by byla potřeba vyšší přesnost, dalo by se použít tohle řešení: udělat to stejně jako výše, akorát kromě časového razítka serveru si uložit časové razítko klienta, spočítat rozdíl a místo přičítání "virtuálního času" každou sekundu vypisovat čas klienta plus rozdíl.
peet
Profil
http://www.clocklink.com/
souki
Profil
peet
zapředpokladu že čas na serveru je stejný
Toto téma je uzamčeno. Odpověď nelze zaslat.