Rolf B: if/else

Beitrag lesen

Hallo Bernd,

der Code sollte meiner Meinung nach so aussehen:

$end = get_post_date('transportauftrag_bis', $p_bis);

...

function get_post_trimmed($key, $default = NULL) {
   $wert = trim(filter_input(INPUT_POST, $key));
   return ($wert == "") ? $default : $wert;
}

function get_post_date($key, $default = NULL) {
   $dateString = get_post_trimmed($key);
   return $dateString ? new DateTime($dateString) : $default;
}

filter_input ist ein eingebauter PHP Helper, der Daten aus $_GET, $_POST oder $_COOKIE lesen kann und Fehlermeldungen vermeidet wenn der Eintrag in $_POST fehlt. Statt dessen kommt dann einfach NULL zurück. Die Funktion kann noch viel mehr, guck's mal nach.

trim() entfernt randständige Leerstellen und hat die nette Eigenschaft, dass trim(NULL) einen Leerstring liefert.

Die Funktion get_post_trimmed kannst Du generell für Formeingaben verwenden, wenn Spaces am Rand zu entfernen sind. Wenn Du magst, gibst Du für fehlende Feldinhalte einen Default-Wert mit.

get_post_date baut darauf auf und wandelt den gefundenen Wert in ein Datum um. Auch hier kann ein Default-Wert mitgegeben werden; für deinen Anwendungsfall $p_bis. Du könntest ihn aber auch weglassen, dann kommt bei fehlendem Datum NULL zurück.

Die wichtigste Aufgabe beim Programmieren ist, sich ein solches Set kleiner Helferlein zu bauen. Sonst wiederholt man sich ständig.

Rolf

--
sumpsi - posui - clusi