Tach!
Was läuft in diesem Fall schief? Seht ihr den Fehler?
Fehler sieht man nicht nur durch das Anschauen des Codes. Könntest du bitte mal anfangen, die vielfach gegebenen Hinweise zum Vorgehen in deine Debugging-Versuche einfließen zu lassen. Wenn Code sich anders verhält als erwartet und man das Problem nicht durch draufschauen findet, muss man es genauer untersuchen. Kontrollausgaben von in Variablen gehaltenen Werten vor und nach einer Operation sind ein wichtiges Instrument. Ob Abzweigungen richtig genommen werden, kann man ebenfalls kontrollieren, indem man Texte ausgibt, in welchem Zweig man sich befindet.
Nehmen wir mal diesen Ausschnitt:
if ( $uss_inhalt != "---") { $start = DateTime::createFromFormat('H:i', "00:00"); } else { $start = DateTime::createFromFormat('H:i', $uss_inhalt); }
Mit Kontrollausgaben kann das beispielsweise so aussehen:
echo '<pre>';
var_dump($uss_inhalt);
if ( $uss_inhalt != "---") {
echo "\nBedingung: ungleich\n";
$start = DateTime::createFromFormat('H:i', "00:00");
} else {
echo "\nBedingung: gleich\n";
$start = DateTime::createFromFormat('H:i', $uss_inhalt);
}
var_dump($start);
Man muss sich bei den Kontrollausgaben keine besonders große Mühe bei der Form geben, die sind nur zeitweise drin und sollen nur Hinweise liefern. Es reicht, wenn man unterscheiden kann, was wozu gehört. Dafür hilft das <pre> und gegebenenfalls Zeilenumbrüche.
Wenn du dir nun die Ausgaben an dieser Stelle anschaust, könntest du zu dem Schluss kommen, dass sie wohl nicht der Erwartung entsprechen ...
dedlfix.