PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] Counter


ich.com.sie.net
2006-04-17, 18:41:56
Und zwar hab ich eine Frage:

Ich will, dass wenn man auf meiner Page in ein Eingabefeld "20" eingibt, dass er dann von 20 Minuten zurückzählt. Und auch weiter zählt, wenn man die Seite verlässt und sie anschließend wieder betritt.

Ich hab schon ewig rumüberlegt wie ich es am besten anstelle. Meiner Meinung nach ist Timestamp unangebracht. Habe auch net sooo viel Erfahrung mit PHP, dass ich es alleine lösen könnte... Wäre klasse wenn mir jemand helfen könnte!

MadMan2k
2006-04-17, 19:40:21
soll der countdown auch für adnere benutzer sichtbar sein? wenn nicht dann javascript + kekse.

ich.com.sie.net
2006-04-17, 20:06:43
Für alle, ich hab auch schon etwas mit php zusammengebastelt.

$timestamp = time(); // Aktuelle Zeit
// dann $timestamp in die db speichern

// aus der db auslesen
$sec = time() - $datenbank["timestamp"];
echo "Es sind $sec Sekunden vergangen";

Allerdings hab ich noch zwei Anliegen.

1. Soll er die aktuelle Zeit anzeigen, ohne f5 drücken zu müssen.
2. Soll er ein PHP-Script ausführen, wenn die Zeit runtergezählt ist...

RavenTS
2006-04-17, 20:41:06
Ehm wozu soll das denn genau gut sein, wenn ich mal fragen darf. Kann mir da jetzt spontan garnix drunter vorstellen.?!

ich.com.sie.net
2006-04-17, 20:49:30
Wenn er runtergezählt hat soll er ein PHP-Script ausführen... du kannst es dir so ähnlich wie ein Online-spiel vorstellen...

Du baust ein Gebäude, dass aber nicht sofort, sondern erst in 1 oder 2 stunde fertiggestellt wird.

huha
2006-04-17, 20:51:49
Das Ausführen ließe sich mit cronjobs erledigen oder eben damit, daß jedes Mal, wenn eine Seite aufgerufen wird (egal, von wem) geguckt wird, ob demnächst irgendwas fällig ist und dies dann ausgeführt.

-huha

RavenTS
2006-04-17, 21:09:13
Wenn er runtergezählt hat soll er ein PHP-Script ausführen... du kannst es dir so ähnlich wie ein Online-spiel vorstellen...

Du baust ein Gebäude, dass aber nicht sofort, sondern erst in 1 oder 2 stunde fertiggestellt wird.

Ja aber ich verstehe nicht so recht, was das genau bezwecken soll (also das der User irgendeine zahl eingibt und dann eine gewisse Zeit auf irgendwelche Reaktionen warten MUSS). Was macht ein Spassvogel mit ner sechs stelligen Zahl.?!

Marscel
2006-04-17, 21:45:56
Wenn du das mit dem Onlinerollenspiel meinst, würde ich das nicht mit einem Counter lösen, der konsequent mittels Cronjob oder Skript im Hintergrund läuft, sondern einfach so, das nachdem du z.B. einmal 20 (min) eingegeben hast, einfach bei jedem Aufruf, bei dem es von Interesse ist, die verbleibende Zeit zu erfahren, gemessen wird, wie viele Sekunde/Minuten 20 ab dem Aufruf noch vor einem liegen/zurück liegen:

So in etwa im Schema:

- Zeitspanne wird dem PHP Skript übermittelt, es ermittelt noch zudem den momentanen Zeitpunkt.
- Beide Daten werden gespeichert (egal wo).
- Beim nächsten Aufruf des Skripts wird die geschaut,

if($jetzige_zeit - $gespeicherte_zeit >= $gespeicherte_zeitspanne)
{
// Irgendwas ist fertig.
Zeit_abgelaufen();
}
else
{
// Meldet z.B. wieviel Zeit noch verbleibt.
Warte();
}

Da braucht man nichts, das herunterzählt, sondern einfach nur bei jeder Ausführung eines Programms eine Prüfung, wieviel Zeit noch bleibt oder schon vergangen ist.

ich.com.sie.net
2006-04-17, 21:53:45
Ich bitte euch nicht ständig nach dem Sinn zu fragen... Ich will einfach nur ein Script, geht nur mit JavaScript - zumindestens so wie ich es will.

Man gibt in ein Eingabefeld irgendeine beliebige Zahl ein. Die wird dann runter gezählt. Wenn der Wert dann "0" ist, soll ein PHP-Script ausgeführt werden.

Mit PHP könnte ich das Ganze umsetzen, allerdings will ich, dass die Zahl real runtergezählt wird, ohne das man ständig f5 drücken muss.

ich.com.sie.net
2006-04-18, 10:36:45
Wenn du das mit dem Onlinerollenspiel meinst, würde ich das nicht mit einem Counter lösen, der konsequent mittels Cronjob oder Skript im Hintergrund läuft, sondern einfach so, das nachdem du z.B. einmal 20 (min) eingegeben hast, einfach bei jedem Aufruf, bei dem es von Interesse ist, die verbleibende Zeit zu erfahren, gemessen wird, wie viele Sekunde/Minuten 20 ab dem Aufruf noch vor einem liegen/zurück liegen:

So in etwa im Schema:

- Zeitspanne wird dem PHP Skript übermittelt, es ermittelt noch zudem den momentanen Zeitpunkt.
- Beide Daten werden gespeichert (egal wo).
- Beim nächsten Aufruf des Skripts wird die geschaut,

if($jetzige_zeit - $gespeicherte_zeit >= $gespeicherte_zeitspanne)
{
// Irgendwas ist fertig.
Zeit_abgelaufen();
}
else
{
// Meldet z.B. wieviel Zeit noch verbleibt.
Warte();
}

Da braucht man nichts, das herunterzählt, sondern einfach nur bei jeder Ausführung eines Programms eine Prüfung, wieviel Zeit noch bleibt oder schon vergangen ist.

Danke, so hätte ich auch gelöst. Allerdings will ich ja anschließend ein PHP-Script ausführen und da wäre ich gescheitert. Ich hab nen Freund von mir auf das Problem angesprochen und er hat sich des Game mal angeschaut. Heute wollen wir es zusammen hinbekommen. Ich halte euch auf dem Laufenden..

Gast
2006-04-18, 11:30:37
Ich bitte euch nicht ständig nach dem Sinn zu fragen... Ich will einfach nur ein Script, geht nur mit JavaScript - zumindestens so wie ich es will.

Man gibt in ein Eingabefeld irgendeine beliebige Zahl ein. Die wird dann runter gezählt. Wenn der Wert dann "0" ist, soll ein PHP-Script ausgeführt werden.

Mit PHP könnte ich das Ganze umsetzen, allerdings will ich, dass die Zahl real runtergezählt wird, ohne das man ständig f5 drücken muss.
AJAX?!