aan alle goede dingen komt een eind, webmasterplein.net 2003 - 2013
wij danken jullie voor al mooie momenten die dankzij dit forum ontstonden - Derk, Rutger en Stef

[php] Enkel nummerieke input in field

Deel alles wat je delen kan, gebruik het voor opslag, plaats het omdat je er trots op bent of creëer samen wat moois!

[php] Enkel nummerieke input in field

Berichtdoor Johan » 26 dec 2010 23:13

Een korte snippet om PHP te laten checken of er wel echt nummerieke input is, handig bij een ID of leeftijd. ;)

In HTML5 werkt <input type="numbers" .... /> ook, maar omdat dat nog lang niet altijd wordt geaccepteerd door browsers, hier een PHP code:

Code: Selecteer alles
$leeftijd = $_POST["leeftijd"];
if ( !eregi( "^[0-9]+$", $leeftijd )) {
    echo "Leeftijd moet uit enkel nummers bestaan!";
}
 


Voor phpBB is het beter om trigger_error("Leeftijd moet uit nummers bestaan!"); beter om te gebruiken. Let er wel op bij leeftijden dat de velden ook een maxlength="2" mee moeten krijgen, tenzij je 100+'ers verwacht :)
Avatar gebruiker
Johan
wmpr
 
Berichten: 676
Geregistreerd: 07 jan 2008 15:42

Re: [php] Enkel nummerieke input in field

Berichtdoor KillerSponge » 26 dec 2010 23:45

Óf je gebruikt gewoon is_int() :P
Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: [php] Enkel nummerieke input in field

Berichtdoor frizzy » 27 dec 2010 17:06

Kan je niet beter is_numeric gebruiken?
Note:

To test if a variable is a number or a numeric string (such as form input, which is always a string), you must use is_numeric().


Bron: http://nl2.php.net/is_int
frizzy
wmpr
 
Berichten: 4261
Geregistreerd: 20 sep 2006 16:03
Woonplaats: Boskoop :D

Re: [php] Enkel nummerieke input in field

Berichtdoor KillerSponge » 27 dec 2010 17:34

String handling is idd iets anders. Het vervelende van is_numeric is dat hij ook getallen als 4e2 pikt, wat je meestal niet wilt. Wat je natuurlijk ook gewoon kan doen is hard casten naar (int), weet je zeker dat er niks raars in zit ;)
Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: [php] Enkel nummerieke input in field

Berichtdoor frizzy » 06 jan 2011 12:43

Code: Selecteer alles
function real_numeric($getal){
   if( is_numeric( (int) $getal ) ){
     return true;
   }
   else{
    return false;
   }
}
frizzy
wmpr
 
Berichten: 4261
Geregistreerd: 20 sep 2006 16:03
Woonplaats: Boskoop :D

Re: [php] Enkel nummerieke input in field

Berichtdoor KillerSponge » 06 jan 2011 13:02

Als je cast naar int ben je er al zeker van dat het een numeric is, gezien (int)"appel"; gewoon 0 teruggeeft, dus deze functie zal altijd true returnen :P
Blabla en andere onzin - http://killersponge.nl
Avatar gebruiker
KillerSponge
Beheerder
Beheerder
 
Berichten: 14456
Geregistreerd: 24 aug 2004 13:05

Re: [php] Enkel nummerieke input in field

Berichtdoor frizzy » 06 jan 2011 16:46

omg, dom xD
frizzy
wmpr
 
Berichten: 4261
Geregistreerd: 20 sep 2006 16:03
Woonplaats: Boskoop :D

Re: [php] Enkel nummerieke input in field

Berichtdoor frizzy » 05 nov 2011 22:09

Je bedekt zoveel bases, super gewoon! P.s. doe ff wat aan die bots, wmp is dan wel dood, dit doe je een forum toch niet aan ;)
frizzy
wmpr
 
Berichten: 4261
Geregistreerd: 20 sep 2006 16:03
Woonplaats: Boskoop :D

Re: [php] Enkel nummerieke input in field

Berichtdoor Remi » 28 dec 2011 11:12

En al wil je ook komma getallen dan gebruik je:
Code: Selecteer alles
eregi( "^[0-9.]+$", $getalMetPunt );
eregi( "^[0-9,]+$", $getalMetKomma );
Avatar gebruiker
Remi
wmpr
 
Berichten: 3010
Geregistreerd: 04 apr 2006 15:22


Keer terug naar Snippets



cron