Hi Romy,
Du bist echt nett, vielen Dank. Warum ich was verwende, kann ich auch nicht so genau erklaeren, weil mir dazu die php-Grundlagen fehlen. Ich war auf dem preg_match-Trip, weil das bei der anderen Abfrage gut funktioniert hat.
Ich will einfach nur eine Formularfeldeingabe pruefen.
Eingegeben werden darf alles von 0 bis 4. Wird -5 oder 17 eingegeben, soll ein Fehler-Text erscheinen (das funzt). Erlaubt sind auch Dezimalzahlen wie 1.4. Gibt der User aber "1,4" ein (mit Komma statt Punkt), rechnet das Skript mit 1 statt "1.4". Das soll also unterbunden werden und bei Eingabe von Kommas oder Buchstaben eine Fehlermeldung erscheinen. Nun, mit strpos geht es schon besser:
// Wert muss zwischen 0 und 4 sein
if ($rzeit < 0 || $rzeit > 4)
{ die ("<b>Fehler:</b><br />blabla"); }
// kein Komma darf enthalten sein
$komma = strpos($rzeit,",");
if ($komma == "1")
{ die ("<b>Fehler:</b><br />blabla"); }
Ach ja, das Eingabefeld hat maxlength=3.
So scheint es nun zu funzen (ausser bei Eingabe ",5"), ich weiss nur nicht, ob das Zufall ist oder alles so passt. Besser waere es natuerlich noch, man wuerde nur Zahlen und Punkt erlauben und alles andere verbieten.
Viele Gruesse
hsr
Hi,
if ($v < 0 || $v > 450 || !preg_match("/^\d+$/",$v))
{ die ("blabla"); }
ich denke DU willst nur nach einem Komma suchen. Ein Komma ist in diesem Kontext doch immer falsch oder? Also benutze strpos(), was willst Du da mit preg_match?
FÜr bessere Hilfe nenne mal alle Kriterien, die erfüllt werden sollen.ciao
romy