2009-04-04 6 views
1

Ich muss Benutzern erlauben, eine bestimmte Aktion auf meiner Website einmal am Tag zu begehen, und ich möchte, dass es um Mitternacht der lokalen Zeitzone der Benutzer zurückgesetzt wird. Was ist der beste Weg, dies mit PHP zu erreichen?Erhalten Zuschauer lokale Zeit mit PHP?

Antwort

2

Vielleicht könnten Sie Javascript verwenden, um die Zeit auf den Browser und AJAX es zu einem PHP-Skript zu erhalten. Es gibt keine 100% zuverlässige Möglichkeit, dies zu tun, als den Benutzer AFAIK zu fragen.

+0

Sicher, wenn das auf der Seite des Benutzers erledigt ist dann präsentiert, dass einige Möglichkeiten für den Missbrauch? Natürlich hängt es davon ab, was die Aufgabe ist und wie groß das Problem ist. –

+0

Das könnte funktionieren. Ff ich Serverzeit auf die DB aufzeichnen, und nur überprüfen, um sicherzustellen, dass die lokale Zeit nicht zu weit weg ist, denke ich, dass Missbrauch verhindern würde. – makeee

3

100% Zuverlässigkeit könnte definitiv ein schwieriges sein, aber Sie können nah kommen.

Maxmind hat eine freie GeoIP-Datenbank. http://www.maxmind.com/app/ip-location

die IP-Datenbank verwenden, können Sie ziemlich genau bestimmen, welche Zeitzone sie sind wahrscheinlich in

Noch besser ist es, die browers Uhr zu verwenden. Es kann Ihnen die Zeitzone geben, aber in der Praxis scheint es eine erhebliche Menge Benutzer ihre Zeitzone falsch zu haben. Wenn Sie die Systemuhr greifen, runden Sie ab und schätzen Sie, in welcher Zeitzone sie sich befinden, um das beste Ergebnis zu erzielen.