Pflichtfeld mit PHP überprüfen (nur Zahlen)

Harzteufel

Erfahrenes Mitglied
Hallo, wie kann ich denn ein <input>-Feld mit PHP überprüfen, ob es nur Zahlen beinhaltet? Also, z.B. für Telefonnummern oder PLZ. Ich hab folgenden Code, aber irgendwie will er nicht so recht funktionieren... :confused:

PHP:
if ($plz == "")
{
        $plzfehler = "<div class='error'><img src='pics/formerror.gif'> Fehler!</div>";
}
        elseif(!ereg("/^([0-9]+)$/", $plz))
{
        $plzfehler = "<div class='error'><img src='pics/formerror.gif'> Fehler!</div>";
}

Danke!
 
Da wird dir die Funktion
PHP:
is_numeric()
helfen.

Also angewendet würde das so aussehen:
PHP:
 elseif(!is_numeric($plz))

Gruß
Timo
 
Sorry, aber ich stell mich bestimmt noch ein wenig unbeholfen an :-P
Müsste es SO nicht funktionieren?

PHP:
if ($plz == "")
        {
        $plzfehler = "<div class='error'><img src='pics/formerror.gif'> Fehler!</div>";
        }
elseif(!is_numeric($plz) && ($plz >= 10000 && $plz <= 99999))
        {
        $plzfehler = "<div class='error'><img src='pics/formerror.gif'> Fehler!</div>";
}
 
PHP:
elseif(!is_numeric($plz) && $plz >= 10000 && $plz <= 99999)

Reicht auch.

Mach ma n paar Tests und sag mir obs geht.

Gruß
Timo
 
PHP:
$plz >= 10000 && $plz <= 99999

Die Armen User aus Brandenburg, deren PLZ mit einer 0 beginnt... ;)

PHP:
if ($plz == "")
{
        $plzfehler = "<div class='error'><img src='pics/formerror.gif'> Fehler!</div>";
}
        elseif(!ctype_digit($plz) OR strlen($plz) < 5)
{
        $plzfehler = "<div class='error'><img src='pics/formerror.gif'> Fehler!</div>";
}

Natürlich gilt das nur für deutsche PLZ...
 
Hmm, es funktionieren beide Varianten nicht wirklich... Bei letzterer kann ich auch sechsstellige Zahlen eingeben und bei der anderen Variante kann ich jetzt sogar wieder Buchstaben eingeben :confused:
 
Zurück