Verschil tussen getal nul en leeg veld onderscheiden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maurice Palmen

Maurice Palmen

25/11/2009 17:39:00
Quote Anchor link
Hallo allemaal,

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 ?
 
PHP hulp

PHP hulp

28/11/2024 19:51:44
 
Yearupie Achternaamloos

Yearupie Achternaamloos

25/11/2009 17:44: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
<?php
if(!empty($_POST['textveld'] ))
{

// textveld is niet leeg
}
if($_POST['textveld'] == 0)
{

// in het tekstveld met de naam textveld staat 0
}
?>
 
Mr.Ark

Mr.Ark

25/11/2009 17:58:00
Quote Anchor link
Of sneller:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?PHP

if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    if(isset($_POST['veld']) && $_POST['veld'] == '0')
    {

        # Veld is ingevuld en is 0
    }
    else
    {
        # Veld is niet ingevuld of is geen 0
    }
}


?>


Quotes om 0 omdat je wilt weten of 0 in het veld is ingevuld
 
Maurice Palmen

Maurice Palmen

25/11/2009 18:07:00
Quote Anchor link
Doet niet helemaal wat ik wil maar dat kan liggen aan het feit dat ik het "omgewerkt" heb naar mijn code.

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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;
    }


?>
Gewijzigd op 01/01/1970 01:00:00 door Maurice Palmen
 
Yearupie Achternaamloos

Yearupie Achternaamloos

25/11/2009 18:17:00
Quote Anchor link
Oke, maar wat wil je nu?
krijg je er foutmeldingen bij?

zet dit boven je script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
error_reporting(E_ALL);
?>
 
GaMer B

GaMer B

25/11/2009 18:53:00
Quote Anchor link
Gebruik is_null
 
- SanThe -

- SanThe -

25/11/2009 20:07:00
Quote Anchor link
Kijk nou eens op php.net

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.
 
Maurice Palmen

Maurice Palmen

30/11/2009 09:44:00
Quote Anchor link
Sorry voor de late reactie, ik was een paar dagen ziek.


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).
 

30/11/2009 09:48:00
Quote Anchor link
if($var === "0").
Controleren of het een string is en of die 0 bevat.
 



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.