Hi, ich habe ein kleines script geschrieben um die angaben in mein formular zu prüfen. ich möchte nun prüfen ob die plz richtig eingetragen wurde. zum einen muss die länge des Ausdrucks stimmen, zum anderen sollten nur Ziffern verwendet werden.
das erste ist kein problem, nur das mit den Ziffern funktioniert bei mir nicht.
Hier ist mein Script. Es überprüft jedes Zeichen im String ob es eine Ziffer von 0-9 ist.
Das Hauptproblem ist, dass der Vergleich z.B. a==5 true ergibt, denn wenn ich Bchstaben anstatt Zahlen eintrage wird zu $number eine 1 hinzugefügt. (siehe scriptteil mit langem komentar ca. mitte)
wenn alle zeichen Zahlen sind, soll $number == "11111"
wenn nicht fehlen eben die netsprechenden 1er.
Sind 4 ziffern ist $number=="1111" also wird der untere Vergleich damit false zurückgeben. Da aber auch Buchstaben true ergeben bekomme ich für 5 zeichen immer ein true zurück
was soll ich denn jetzt tun?
Wo liegt der Fehler
//plz
if (($_POST['plz'] != "") and (strlen($_POST['plz']) == 5))
{
$plz=$_POST['plz'];
$number="";
echo "number: ".$number."<br>";
for ($i=0;$i<strlen($plz);$i++)
{
for ($j=0;$j<=9;$j++)
{
echo $plz[$i].", ";
if ($plz[$i] == $j) {$number.="1"; break;} //Vergleich vom Zeichen an der Stelle $i mit einer Ziffer von 0-9
}
}
echo "zahl? ".$number."<br>";
if ($number=="11111")
{ $check.="1";}
else
{
$check.="0";
}
}
else {$check.="0";}
PHP Operatorproblem (denke ich)
-
- Mitglied
- Beiträge: 124
- Registriert: 04.10.2002 15:02
- Kontaktdaten:
-
- Mitglied
- Beiträge: 124
- Registriert: 04.10.2002 15:02
- Kontaktdaten: