500 Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallöchen liebe Leute,

ich habe eine eigene Homepage gebaut. Dort gibt es unter anderem ein Quiz
welches nur für eine bestimme Uhrzeit des Tages machbar sein soll. Beispielsweise
von 17-18 Uhr. Die Time Content Steuerung habe ich schon fertig. Das Problem ist
nur, dass der Benutzer quasi um 18;00:01Uhr "rausgeschmissen" werden soll. Dies
geht auch, wenn man die Seite via F5 erneuert. Tut der Spieler dies aber nicht kann
er ewig weiter speilen. Ich habe hier im Forum schon etwas gefunden, weiss aber
nicht so ganz wie ich das auf meinen Zweck ummünzen kann.

https://supportnet.de/fresh/2005/8/id1132284.asp

Die aktuelle Seite, auf der der Nutzer sich befindet soll ich an 2 Zeitpunkten z.B. um
18:00:01 und um 19:00:01 neu laden.

Ich hoffe, dass ihr mir helfen könnt.

5 Antworten

0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo Zeptron,

es gibt die Möglichkeit, dem Browser eine Zeit zu geben, wann er die Seite neu laden soll.
Du gibst folgendes Statement im <head> der Webseite an:
<meta http-equiv="refresh" content="60">


Die Zahl hinter contend gibt an, nach wieviel Sekunden sich die Seite neu aufbauen soll, in diesem Beispiel also nach einer Minute.

Jetzt musst du serverseitig nur noch (z.B. mit PHP) beim Aufruf die Zeit in Sekunden bis 18:00:01h berechnen und in dieser Zeile ausgeben. Dann wird die Seite zur rechten Zeit neu geladen und der Nutzer fliegt raus.

Gruß
computerschrat
0 Punkte
Beantwortet von
Vorab schonmal danke für die schnelle Hilfe.
Leider kenne ich mit php und co nicht wirklich aus.
jeder code den man im netz so findet will nicht so recht klappen. Das
Problem, wenn man nur den Meta Refresh nimmt, liegt ja darin , dass
die Zeit erst läuft wenn man die Seite betritt. Da sich aber alle Antworten
im Quiz löschen wenn man aktualisiert ist es eben wichtig, dass es
wirklich nur 2 mal am Tag einen erzwungenen Refresh gibt.

Lieben Gruß
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo Zeptron,

dan schau dir mal diese Seite an:
https://stackoverflow.com/questions/1217929/how-to-automatically-reload-a-web-page-at-a-certain-time
Da wird der Refresh zu einer definierten Zeit ausgelöst. Ist es das, was du suchst?

Gruß
computerschrat
0 Punkte
Beantwortet von
Ja, das löst aber leider nicht das
ganze Problem. Das date()
greift ja nur die Sytemzeit ab. Ich
benötige allersings die
Serverzeit, damit man dort nicht durch
umstellen der
Computeruhr manipulieren kann
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo Zeptron,

dann bin ich mit meinen Ideen am Ande. Es wird dir aber vermutlich nicht gelingen, den Reload der Seite vom Server aus zu triggern, weil der Server keinen Zugriff auf einen Clienten hat. Der Reload geht immer vom Clienten aus und wenn der Benutzer das mit irgendwelchen Mitteln unterbindet, dan unterbleibt der Reload.

Dann kannst du allenfalls beim nächsten Aktualisieren oder neu Laden der Seite anhand der IP-Adresse oder einer Session ID den Teilnehmer erkennen und feststellen, dass der schon über den Timeout hinaus am System war und ihn dann "rauswerfen"
Dafür wirst du aber um serverseitige Programmierung z.B. mit PHP nicht herumkommen.

Gruß
computerschrat
...