fehler in if-Abfrage?
Robert21
- php
1 dedlfix0 Bademeister
Hi!
ich möchte das die if-Abfrage ausgeführt wird wenn entweder genau 3 Tage oder 2 Wochen vergangen sind. (Script wird täglich ausgeführt)
Worin liegt der Fehler in dieser Abfrage:
// genau 3 Tage säter?
if(($result->time > (time()-(60*60*24*4))) AND ($result->time < (time()-(60*60*24*3)))) $dreitage=TRUE;
// genau 3 Tage oder 2 Wochen säter?
if($dreitage or (($result->time > (time()-(60*60*24*15))) AND ($result->time < (time()-(60*60*24*14))))) {
danke
Robert
echo $begrüßung;
ich möchte das die if-Abfrage ausgeführt wird wenn entweder genau 3 Tage oder 2 Wochen vergangen sind. (Script wird täglich ausgeführt)
Worin liegt der Fehler in dieser Abfrage:
Ein Fehler ist, dass es auf der Annahme basiert, ein Tag hätte 24 Stunden. Die meisten haben das, aber eben nicht alle. Das ist für Europa und einige andere Länder gesetzlich so geregelt.
strtotime() kann Berechnungen auch in Klartext formuliert vornehmen.
Ansonsten beschreibe doch bitte was rauskommen soll (gut, das steht da geschrieben) und was stattdessen passiert und an welcher Stelle deine Kontrollausgaben Abweichungen vom Vorgesehenen ergeben.
echo "$verabschiedung $name";
Hi Robert,
ich möchte das die if-Abfrage ausgeführt wird wenn entweder genau 3 Tage oder 2 Wochen vergangen sind. (Script wird täglich ausgeführt)
Es sind schon Tausende von Jahren vergangen (oder vielleicht sogar noch mehr...). Was hat das mit Deiner Abfrage zu tun? ;-)
Was ich damit sagen will: Deine Frage ist unbeantwortbar (jedenfalls fuer Leute, die von Dir verschieden sind), weil aus Deinem Posting weder vervorgeht, was Dein Skript genau tun soll, noch, was es stattdessen tut.
Ist Dein Skript syntaktisch fehlerhaft? (z.B.: $dreitage wird nicht gesetzt, wenn die erste Bedingung falsch ist, das Format von $result->time ist falsch oder aehnliches).
Oder tut es nur etwas anderes, als es soll? Deine Bedingungen sind denkbar unuebersichtlich. Ich wuerde vorschlagen:
Bestimme den Tag[1] des heutigen und des Datums aus dem timestamp (dafuer gibt es zahlreiche Formatierungsfunktionen). Dann kannst Du prima vergleichen, ob die Differenz der Tage 3 oder 14 oder etwas anderes ist.
[1] Wenn Dein Skript nicht um 0 Uhr ausgefuehrt wird, dann ist der (logische) Tag, den ich meine, nicht der Kalendertag!
viele Gruesse,
der Bademeister