[PHP] eregi() mit richtigem Ausdruck

Drrichardfahrer

Well-known member
ID: 207405
L
20 April 2006
7.060
691
Ich bin seit ein paar Stunden am Rätseln, wie ich es bewerkstelligen kann, dass ich in einem Formular bei der Überprüfung nach dem SUBMIT nur Eingaben nach folgendem Schema aufgenommen werden:

YYYY-MM-DD

Es geht darum, dass ich in der Datenbank eine Spalte mit DATE habe und nun möchte ich, dass der User ein Datum im Formular eingeben kann, allerdings in dem oben genannten Format und ich hab bis jetzt folgendes:

PHP:
if ($_REQUEST['send']) {

    $datumpattern = "^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$";
    if (($_POST['titel'] == "") || (!isset($_POST['untertitel'])) || (!eregi($datumpattern, $_POST['datum'])) || (!isset($_POST['text']))) {
        $message = "ACHTUNG: Es wurden nicht alle Felder ausgefüllt.";
    }
    else {
        $message = "Die Veranstaltung wurde erfolgreich hinzugefügt.";
    }
}

Es geht hierbei um den eregi-Teil - irgendwas stimmt da nicht :(

Liebe Grüße, Drrichardfahrer
 
Zuletzt bearbeitet:
Mit eregi kenn ich mich nicht aus, aber der RegExp hat sicher noch Fehler, weil du \- drin hast. Das gibt es nicht.

Lass den Backslash mal ganz weg, normal muss der Bindestrich nicht escapt werden (außer in Characterclass). Falls es bei eregi anders is, dann zwei Backslashe: logisch "\\" = '\', "\" gibts ned