Textfelder Ganzzahlen?

icicle

Grünschnabel
So ich habe ein Formular

In diesem Formular sind Textfelder
<input type="text=" name="text">

wenn ich jetzt aber Prüfen will ob der inhalt ganzzahlig ist also (is_int) sagt er nein.

Meine Prüfung

if(is_int($text)){

echo "JUHU";

}


Um schnelle Hilfe wäre ich sehr froh
 
Die is_int()-Funktion prüft, ob eine Varaible vom Typ integer ist. Da URL-Parameter jedoch immer des Typs string, also Zeichenketten.
Wenn du nun jedoch prüfen möchtest, ob eine Variable numerisch ist, kannst du die is_numeric()-Funktion benutzen.
 
Ja das hatte ich auch aber ich wollte ja das die User ´nur ganze zahlen eingeben.

Anzahl der Accounts: <input type="text" name="account_anz">

Sie sollen ja nicht 12.4 eingeben können und das will ich überprüfen

Also geht das dann überhaupt ob ich das auf ganzzahligkeit überprüfen kann
 
Du koenntest erst mit is_numeric() pruefen ob es sich bei der Eingabe um eine Zahl handelt und danach feststellen ob der String einen . oder ein , enthaelt.

Dazu eine kleine Funktion:
PHP:
function string_is_int($inttext)
{
 if ((is_numeric($inttext)) && (strpos($inttext,".")===false) && (strpos($inttext,",")===false))
  {
   return true;
  }
 else
  {
   return false;
  }
}

Sollte eigentlich so funktionieren.
Du uebergibst also Deine Eingabe an string_is_int() und bekommst einen Boolean zurueck.
Genau wie bei is_int(), jedoch halt fuer Strings.
 
Du könntest auch gleich per RegExp prüfen....
Code:
if(preg_match('@\D@',$_REQUEST['account_anz']))echo 'keine Ganzzahl';
 
OK hab jetzt das mit Verständlichste zusammengefasst. Danke an die die geholfen haben. Meine Lösung:

PHP:
if(intval($text) <> $text or !is_numeric($text)){
	echo "NOPE der Text ist keine Ganzzahl";
}else{
	echo "JUHU der Text ist eine Ganzzahl";
}
 
Zurück