PHP Script im bestimmten Tag und Zeit

Guri

Mitglied
Hallo Leute,
ich will mit PHP ein nachrit jede woche im bestimmten tag und zeit INFO ausfüren lassen.

z.B.: Montags von 8 Uhr bis 18, es funtioniert mit disem befehl:
PHP:
<?php if ( (date("w") == "1") && (date("H") > "8") && (date("H") < "18") ) :  ?>
INFO
<?php endif; ?>

ich will z.B. von Dienstag 8 Uhr bis Donnertag 18,
aber funtioniert nicht wie habe mir gedacht, aber kommt kein fehler,
mit disem befehl:
PHP:
<?php if ( ((date("w") == "2") && (date("H") > "8")) && ((date("w") == "4") && (date("H") < "18")) ) : ?>
INFO
<?php endif; ?>

wo ist der Fehler?

Vielen Dank im Voraus, MfG Guri.
 
Lleider funtioniert nicht,

im ersten Fall wie mit "8" genauso auch mit "08" funktionrt wie es soll,

im zweiter Fall, leider funtioniert nicht, wie mit "8" genauso auch mit "08", aber kommt kein fehler, ...
 
08 ist doch Quatsch und du vergleichst mit "08" immer noch Strings und keine Zahlen!

Anscheinend hast du die Doku immer noch nicht gelesen, also lese ich sie dir mal vor:
GStunde im 24-Stunden-Format; ohne vorangestellte Null0 bis 23
aber kommt kein fehler
Nein, warum auch. Man darf Strings mit > oder < vergleichen, auch wenn das in den wenigsten Fällen Sinn macht.

Und wenn etwas von 8 Uhr an laufen soll, dann überlege mal, was du hier geschrieben hast:
PHP:
(date("H") > "8")

Noch ein Hinweis:
übersetzt heißt deine Zeile:

(wenn der 2. Tag der Woche und die Stunde größer 8 ist) und (wenn der 4. Tag der Woche und die Stunde kleiner 18 ist)

Kann das und richtig sein? Ich glaube nicht, dass der 2. und der 4. Tag der Woche jemals zusammenfallen.
 
Zuletzt bearbeitet:
Ich bin kein Programmierer, ich habe mich gedacht, so werde es funtionirt aber funtieonirt nicht, aber kommt kein fehler,

ziel ist: von Dinstag 8 Uht bis Donnerstag 18 Uhr, soll die INFO erscheinen,

ein Lösung habe ich gefunden aber ist lächerlich, aber es funtioniert:

Code:
für Dienstag so:
<?php if ( (date("w") == "2") && (date("H") > "8") && (date("H") < "24") ) :  ?>
INFO
<?php endif; ?>

für Mittwoch so:
<?php if ( (date("w") == "3") && (date("H") > "0") && (date("H") < "24") ) :  ?>
INFO
<?php endif; ?>

und für Donnerstag so:
<?php if ( (date("w") == "4") && (date("H") > "0") && (date("H") < "18") ) :  ?>
INFO
<?php endif; ?>

es funktioniert, aber wie soll ich, alle drei auf ein mal, ...
 
Ungetestet!
PHP:
<?php
  if (((date("w") == 2) && (date("G") >= 8) && (date("G") < 24)) ||
      ((date("w") == 3) && (date("G") >= 0) && (date("G") < 24)) ||
      ((date("w") == 4) && (date("G") >= 4) && (date("G") <= 18)))
  {
      echo "Eine Info";
  }
?>
 
Ich denke, wenn die Bedingung für den ganzen Tag gelten soll, kann man die Uhrzeit unbesorgt weg lassen, ebenso wenn es bis Mitternacht gelten soll:
Code:
<?php
  if ((date("w") == 2) && (date("G") >= 8)) ||
      (date("w") == 3) ||
      ((date("w") == 4) && (date("G") <= 18)))
  {
      echo "Eine Info";
  }
?>
ebenfalls ungetestet.
 
Ungetestet!
PHP:
<?php
  if (((date("w") == 2) && (date("G") >= 8) && (date("G") < 24)) ||
      ((date("w") == 3) && (date("G") >= 0) && (date("G") < 24)) ||
      ((date("w") == 4) && (date("G") >= 4) && (date("G") <= 18)))
  {
      echo "Eine Info";
  }
?>
Ich habe gerade getestet, es funktioniert,
die Tage statt Dienstag bis Donnertage, habe mit Donnerstag bis Samstag erstezt, und heute ist Freitag, alles klappt, ...
vielen Dank für die Hilfe.
 
Ich denke, wenn die Bedingung für den ganzen Tag gelten soll, kann man die Uhrzeit unbesorgt weg lassen, ebenso wenn es bis Mitternacht gelten soll:
Code:
<?php
  if ((date("w") == 2) && (date("G") >= 8)) ||
      (date("w") == 3) ||
      ((date("w") == 4) && (date("G") <= 18)))
  {
      echo "Eine Info";
  }
?>
ebenfalls ungetestet.
Das klappt auch, aber ein "(" hat gefehlt nach dem "if ", habe ersetzt, und hat funtioniert, Danke. ...
 
So:
PHP:
<?php
  if (((date("w") == 2) && (date("G") >= 8)) ||
      (date("w") == 3) ||
      ((date("w") == 4) && (date("G") <= 18)))
  {
      echo "Eine Info";
  }
?>

also hat sich erledigt, wie stelle auf erledigt, ...
 

Neue Beiträge

Zurück