Hello,
Wollte es so lösen, klappt aber nicht
if ($value == (isset($_POST['i_rubrik'])) ? $_POST['i_rubrik'] :'') {
>
Die { zeigt ja, dass es da noch weitergehen soll...
Ein Tipp: Schreib expliziten Code. Das ist leichter zu lesen und braucht auch nicht viele mehr Bytes im Quelltext.
~~~php
if (isset($_POST['i_rubrik']) and is_string($_POST['i_rubrik']))
{
## DD.MM.YYYY ##
if (strlen($_POST['i_rubrik']) == 10)
{
## an den Punkten zerlegen, Einzelwerte prüfen (Ranges), usw.
## [link:http://de1.php.net/manual/en/function.checkdate.php]
## Datumsvergleich durchführen
}
else
{
## Fehlermeldung setzen: "Datum muss in der Form TT.MM.JJJJ angegeben werden!"
}
}
Nur als Vorschlag.
PHP kennt an dieser Stelle erstmal nur die Datenklassen String (Skalere) und Array. Andere Prüfungen haben hier mMn keinen Sinn. Das bedeutet, dass auch Zahlen in der Stringdarstellung aus der Schnittstelle rauskommen.
Bei Checkdate musst Du zusätzlich noch prüfen, ob das Jahr im erlaubten Bereich für PHP-Unix-Timestamps liegt, wenn Du mit den timestamp-behafteten Funktionen von PHP arbeiten willst.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg