da Start-Datum A logischerweise immer vor End-Datum B liegen sollte, würde ich gerne eine Prüfung einbauen, die einen Fehler anzeigt, wenn Datum A > Datum B.
Ich würde die Option in Betracht ziehen, sich auf den Menschenverstand der Befragten zu verlassen. Und wo es grob falsch ist, würde ich das als Indikator nehmen, dass es jemand mit dem Ausfüllen vielleicht nicht so ganz ernst genommen hat.
Aber natürlich ist auch eine technische Lösung möglich. Wenn wir z.B. die folgende Kodierung haben:
Monat = 1(Januar) bis 12(Dezember)
Jahr = 1(2000) is 21(2020)
Dann können Sie relativ einfach einen String Jahr-Monat daraus machen, z.B.
$datum1 = sprintf('%02d-%02d', (int)value('Jahr'), (int)value('Monat'));
Okay, "einfach" ist das auf den ersten Blick nicht. Also: Das (int)
sorgt dafür, dass die mittels value()
eingelesene Zahl auch wirklich als Zahl verwendet wird. Und das sprintf()
vorne sorgt für das Format XX-XX mit führenden Nullen.
Da würde man für März 2010 also z.B. die Wert 3 und 11 bekommen und den String "11-03". Wenn man das auch mit dem zweiten Werte-Paar macht, dann kann man am Schluss einfach vergleichen:
if ($datum2 <= $datum1) {
repeatPage()
}