Vinzenz Mai: Problem mit Überprüfung von Formulardaten

Beitrag lesen

Hallo,

Abgefangen werden sollen also bei 3. alle $DauerMinuten, für die gilt:

warum kopierst Du mal wieder um?

  • nicht leer
  • ist ein Integer-Wert
  • kleiner als 0 oder größer als 255

[code lang=php]
if ($DauerMinuten && (!is_integer($DauerMinuten) || $DauerMinuten < 0 || $DauerMinuten > 255))

schreibe eine Funktion! Die Prüfung auf Sekunden erfolgt exakt gleich.

{
  echo "Bitte geben Sie eine Zahl zwischen 0 und 255 ein.<br>"

Es ist viel sinnvoller einen Wert zurückzugeben als etwas auszugeben (EVA-Prinzip).

Merkwürdigerweise wird aber jetzt *jede* Eingabe, auch solche mit korrekten Minutenwerten, abgefangen - warum?

völlig klar. $DauerMinuten ist ganz sicher eine Zeichenkette und somit ist dein Ausdruck in den Klammern stets wahr ...

Mit ereg() wäre es wahrscheinlich noch komplizierter...

ereg() und Konsorten benutzt man gar nicht mehr. Diese sind veraltet.

Freundliche Grüße

Vinzenz