timer mit php

superfutzi

Well-known member
ID: 328004
L
2 Oktober 2008
165
26
hallo,

ich versuch folgende funktion hinzubekommen,

ein benutzer klickt einen button,
danach soll sich ein script laden indem eine zeit läuft,
nach der zeit wird ein weiteres script ausgeführt,


die zeit sollte nach möglichkeit real laufen d.h. ohne das ich
die ganze zeit den browser neu laden muss.


ich bekomm des einfach nicht hin. also das ich eine zeit mit php
nicht "real" laufen lassen kann ist mir klar. aber wie bekomm ich
das hin das der nach der zeit eine aktion ausführt ohne das das
script laufen muss (im browser läuft).

was mir klar ist das ich zumindest die zeit die das script laufen
muss und die startzeit irgendwo speichern muss (mysql datenbank).

worauf ich eben nicht komm, wie kann ich sekundengenau prüfen,
ob diese zeit schon erreicht ist oder nicht?


danke schonmal im voraus
 
Willst Du das die Zeit runterzählt uns dann einen neue Seite/Datei aufruft oder nur das der ne bestimmte Zeit warten und dann aufruft.

Für zweiteres evtl. sleep(int sec);, für ersteres muss definitiv Javascript her und Du brauchst nur die Endzeit in der Db speichern indem Du nen Timestamp ablegst.
 
Sekundengenau kannst du beim Cron vergessen.

Wenn du dich im Internet ein wenig umschaust, siehst du recht oft diese " noch X Sekunden bis ...", so etwas meinst du? Das ist ein JS, da brauchst du dann auch keine Daten in die Datenbank einzutragen. (Anwendung: z.B. Werbeeinblendung vor Linkbereitstellung)

Edit: Oder willst du doch: User klickt Link und X Stunden später hat er eine Freigabe?
 
Ja das ist mein Problem,

sekundengenau bei cronjobs ist mist.

Also der Benutzer klickt auf einen Link,
es wird ein script ausgeführt das sagen wir nach genau 3minuten und 36 sekunden etwas bewirken soll bzw. ein anderes script ausführt.

das wäre ja mit sleep() kein problem sag ich mal.

mein problem ist, das soll ja auch passieren, wenn der Benutzer das Script oder den Browser schließt.

Wäre ja auch kein Problem, wenn er es in dieser Zeit wieder aufmacht. Aber was ist wenn er das Script erst eben nach der Zeit wieder ausführt. Es soll dann aber schon in der DB stehen.
 
User ruft zum Zeitpunkt X die Seite auf, du speicherst X+deinevorgabe in die DB und rufst das JS mit X+deinevorgabe auf. Schließt der User die Seite wird beim Reload die restliche differenz angezeigt.
 
Genau Cybo,

aber natürlich soll, wenn der Benutzer den Browser erst nach der abgelaufenen Zeit wieder aufruft, das schon in der DB stehen.

Sonst wäre es ja zu einfach :LOL:
 
Genau Cybo,

aber natürlich soll, wenn der Benutzer den Browser erst nach der abgelaufenen Zeit wieder aufruft, das schon in der DB stehen.

Sonst wäre es ja zu einfach :LOL:

Steht es doch ;)

Ich besuche um 18:01 die Seite, du schreibst also den sekundengenauen time()+$dein_puffer in die datenbank.

JS bekommt beim Aufruf der Seite als Countdown (wert aus der DB - time() ) und gut ist?.

Sollte der User die Seite schließen und neu öffnen errechnet sich die Differenz ja neu und der Timer setzt erst später wieder ein :think:.
 
ja das ist mir schon klar aber was ist, wenn ich um 18:01:31 auf den link Klicke,
soll das ganze sagen wir 2Min und 10sec dauern. d.h. das ganze wär um 18:03:41 fertig. Solange er Online ist wenn das fertig ist, ist das kein problem.

auch wenn er zwischendurch den Browser schließt und wieder Öffnet ist das ja auch noch kein Problem. Aber was ist wenn der User erst wieder um 18:10:21 Online geht? Dann solls ja schon passiert sein. Wie löse ich das?
 
[...]
auch wenn er zwischendurch den Browser schließt und wieder Öffnet ist das ja auch noch kein Problem. Aber was ist wenn der User erst wieder um 18:10:21 Online geht? Dann solls ja schon passiert sein. Wie löse ich das?

Was soll denn passieren?

Wenns nicht unbedingt zeitkritisch ist, lass es halt beim aufruf durch den User eintreten. Sonst musst du doch wieder einen Cron zur Hilfe nehmen, der dann aber nicht sekundengenau funktioniert - was imo aber auch nicht schlimm ist, wenn er User eh nicht die Seite geöffnet hat.
 
daemon mit PHP

Zuerst mal Hallo,


ich möchte einen Daemon mit PHP schreiben, hab mich bei Google schon
einmal ein bischen Informiert. Doch muss ich sagen das es dort nicht viele
Informationen gibt. Meine Frage ist kann mir jemand den Grundaufbau von
so einem Daemon sagen?


Brauche den, um Punktgenau (Sekundengenau) Scripte auszuführen auch
wenn ein User nicht Online ist.

Wäre für Hilfe dankbar.