Tom: intval vs. ctype_digit

Beitrag lesen

Hello,

[bis dahin richtig]

richtiger in meinen Augen wäre: is_int(). Denn nur diese Funktion testet ob der Wert auch wirklich int ist

http://de3.php.net/manual/en/function.is-int.php

Die Eingaben kommen aus einem Requeststring
is_int() ist also nicht richtig, da die Werte immer als String an PHP übergeben werden.

Man könnte is_numeric() benutzen, um festzustellen, ob der gesamte String eine numerische Größe repräsentiert, dann hätte man aber auch Floats, Exponentialschreibweise und so weiter mit dabei.

PHP stellt zum Zwecke der vorgesehen Prüfung die Filterfunktionen zur Verfügung. Die testen die übergebenen Werte daraufhin, ob sie den Zieltyp repräsentieren können, nicht aber vom Zieltyp sind.

http://de1.php.net/manual/en/ref.filter.php
http://de1.php.net/manual/en/filter.filters.validate.php

Um zum Beispiel eine ID zu übergeben würde ich intval empfehlen. Einfach alles was nicht int ist herauslöschen. Wenn du aber wirklich überprüfen möchtest, dann bitte is_int()

Das ist immer dann sinnvoll, wenn die ID==0 nicht zum zulässigen Wertebereich gehört, bzw. eben das "False-Element" darstellt.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bikers-lodge.com