invoerveld controleren op waarde van 001-999 met methode post

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jonet L

Jonet L

12/05/2008 10:06:00
Quote Anchor link
Hallo ik heb een probleem met het controleren van 1 invoerveld
dit veld kan uitsluitend een waarde hebben tussen 001 en 999
dacht het op deze manier op te lossen

//Controleren of er bij Get numeriek is ingevuld.
if (strlen($LhGet1) > 0){
$LhGet1 = floatval($LhGet1);
if (is_integer($LhGet1)) {
$error[]="is numeriek.";
} else {
$error[]="is NIET numeriek.";
}
}

hier krijgt '001' de waarde 1
de waarde moet echter 001 blijven
Hoe los ik dat op of is er een andere truc dan bovenstaande script.
ben nog niet zo lang met php bezig....
 
PHP hulp

PHP hulp

29/03/2024 06:10:48
 
Martijn B

Martijn B

12/05/2008 10:12:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if( empty($nummer)
    || !
ctype_digit((string)$nummer)
    || !
isset($nummer[2]) )
{

   // FOUT!
}

// $nummer bestaat
// uit getallen (is niet leeg of nul)
// en is 3 tekens lang.


?>


edit:

Misschien dat "000" er doorheen komt in dat geval zou je "empty($nummer) " kunnen vervangen door "empty((int)$nummer) ". Het is misschien makkelijker om een extra controle erin te maken.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
 
Joren de Wit

Joren de Wit

12/05/2008 10:39:00
Quote Anchor link
We hebben het hier over strings, dus je zou ook altijd nog een preg_match() kunnen gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(preg_match('_^[0-9]{2}[1-9]{1}$_', $nummer))
{

    // Nummer tussen 001 en 999
}
?>
 
Hipska BE

Hipska BE

12/05/2008 10:49:00
Quote Anchor link
@Blanche: Kan het dat de waarde 450 hier niet zal gevalideerd worden?
 
Joren de Wit

Joren de Wit

12/05/2008 11:00:00
Quote Anchor link
Eh ja, daar heb je natuurlijk gelijk in. Het laatste cijfer kan natuurlijk ook gewoon een 0 zijn. Zo zal het wel werken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(preg_match('_^[0-9]{3}$_', $nummer) && $nummer != '000')
{

    // Nummer tussen 001 en 999
}
?>
 
Jonet L

Jonet L

12/05/2008 14:38:00
Quote Anchor link
ik heb onderstaande code gebruikt van Blanche en dat werkt als een trein:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(preg_match('_^[0-9]{3}$_', $nummer) && $nummer != '000')
{

    // Nummer tussen 001 en 999
}
?>


Harstikke bedankt dat jullie geholpen hebben.
het is voor het eerst dat ik iets op een forum plaatst en met succes!!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.