Verschil tussen getal nul en leeg veld onderscheiden
Ik probeer een scriptje in elkaar te zetten dat de inhoud van een formulier leest en verschillende dingen doet, afhankelijk van wat het vindt.
Een optie is controle of er wel iets in het tekstveld is ingevuld.
Een van de andere opties waar op gecontroleerd moet worden is echter of het getal nul is ingevoerd in het tekstveld.
Hoe kan ik in mijn code PHP onderscheid tussen die twee dingen laten maken ?
Code (php)
Quotes om 0 omdat je wilt weten of 0 in het veld is ingevuld
Indien de invoer in het veld (dat via via in de variabele terecht is gekomen) een enkele nul is dan geeft hij 'Blank' als uitkomst, en niet 'Nul'.
Scriptje is als volgt nu:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?PHP
IF (EMPTY($variable))
{
$variable = 'Blank';
echo "variable = " . $variable . "<P>\n";
}
ELSEIF ($variable == 0)
{
$variable = 'Nul';
echo "variable = " . $variable . "<P>\n";
}
ELSE
{
$variable = (int)$variable ;
}
SWITCH ($variable)
{
CASE "Blank":
echo "No input at all !";
Break;
CASE "Nul":
echo "Inhoud = 0";
Break;
CASE ($variable ==1):
echo "Inhoud = 1";
Break;
CASE ($variable <1):
echo "Inhoud = amazingly < 1";
Break;
CASE ($variable >1):
echo "Inhoud = suddenly > 1";
Break;
DEFAULT:
echo "Inhoud = Illegal input !";
Break;
}
?>
IF (EMPTY($variable))
{
$variable = 'Blank';
echo "variable = " . $variable . "<P>\n";
}
ELSEIF ($variable == 0)
{
$variable = 'Nul';
echo "variable = " . $variable . "<P>\n";
}
ELSE
{
$variable = (int)$variable ;
}
SWITCH ($variable)
{
CASE "Blank":
echo "No input at all !";
Break;
CASE "Nul":
echo "Inhoud = 0";
Break;
CASE ($variable ==1):
echo "Inhoud = 1";
Break;
CASE ($variable <1):
echo "Inhoud = amazingly < 1";
Break;
CASE ($variable >1):
echo "Inhoud = suddenly > 1";
Break;
DEFAULT:
echo "Inhoud = Illegal input !";
Break;
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Maurice Palmen
krijg je er foutmeldingen bij?
zet dit boven je script:
Empty()
Returns FALSE if var has a non-empty and non-zero value.
The following things are considered to be empty:
* "" (an empty string)
* 0 (0 as an integer)
* "0" (0 as a string)
* NULL
* FALSE
* array() (an empty array)
* var $var; (a variable declared, but without a value in a class)
Isset()
Returns TRUE if var exists; FALSE otherwise.
Wat ik in essentie wil doen is kijken of in het formulier veld óf NIETS óf een NUL is ingevoerd, en onderscheid kunnen maken tussen die twee.
Empty() helpt me dus niet aangezien het in beide gevallen een FALSE terug geeft.
Isset() geeft me in beide gevallen een TRUE terug aangezien er een $_POST variabele inderdaad bestaat zo gauw op Submit is geklikt.
Volgens mij, ik heb de code even niet bij de hand, geeft het ook TRUE terug indien ik de inhoud van $_POST in zijn geheel in een andere variabele stop.
Kern van de vraag is dus: Hoe kan ik binnen PHP onderscheid maken tussen de invoer van een NUL en GEEN INVOER.
(CAPS gebruikt ter verduidelijking, niet om te schreeuwen).
Controleren of het een string is en of die 0 bevat.