String aus Textfeld auf Ganzzahl prüfen

xtramen01

Erfahrenes Mitglied
Hallo Leute,

habe ein kleines Problemchen und weis nimma weiter.

Aus einem Textfeld kommt ein String, welcher nur aus ganzen Zahlen bestehen darf.
Ich habe es unterschiedlich versucht, das klappt aber nicht.

So z.b. klappt es eigentlich.
Aber ich kann immer noch Zahlen im Format 1.23 eingeben.

PHP:
if(!is_numeric($_POST['bonuspunkte_verkauf']) && !is_integer($_POST['bonuspunkte_verkauf'])){
echo 'Fehler';
}

Hat jemand ne Idee?

Gruss
 
Die Funktion is_numeric() liefert dir dabei ja auch laufend true zurück. Arbeite mit einem ODER-Konstrukt oder verzichte besser gleich auf is_numeric(), wenn du sowieso lediglich Integer verarbeiten möchtest.
 
Nutze intval um aus einem Wert einen Integer zu machen.

edit: oder Reguläre Ausdrücke :D
PHP:
$str = "123456";
if( preg_match("/[^0-9]+/",$str) )
  echo "Falsch";
 
Zuletzt bearbeitet:
Danke euch.

Allerdings, wenn ich nur:

PHP:
!is_integer($_POST['bonuspunkte_verkauf'])

verwende, dann kann ich eingeben was ich möchte. Es liefert immer den Fehler. Auch wenn ich z.b. nur 1 eingebe.
Habs aber nun mit regulären Ausdücken bewergstelligt.

Gruss
 
Zuletzt bearbeitet:
Allerdings, wenn ich nur:

PHP:
!is_integer($_POST['bonuspunkte_verkauf'])

verwende, dann kann ich eingeben was ich möchte. Es liefert immer den Fehler. Auch wenn ich z.b. nur 1 eingebe.

Gruss

Das liegt daran, das eine Eingabe aus einem HTML Feld immer als String verarbeitet wird ;)

So würde es funktionieren ;)
PHP:
if( is_integer(33) )
  echo "33 ist ein Integer";
 
Zurück