Save multiple inputs / if empty

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bryan De Baar

Bryan De Baar

30/03/2020 23:07:58
Quote Anchor link
Het is misschien een stomme vraag maar hoe kun je controleren op empty met een multiple save?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<input name="fruit[]" value="banaan"/>
<input name="fruit[]" value=""/>
<input name="fruit[]" value="appel"/>
<input name="fruit[]" value="peer"/>


Nu wil ik deze opslaan maar niet de value van input 2 omdat deze leeg is.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
//dit zal niet werken omdat het een array is en er 3 wel zijn ingevuld toch?
if($_POST['fruit'] !==''){
    //SAVE
}
?>
Gewijzigd op 30/03/2020 23:08:17 door Bryan De Baar
 
PHP hulp

PHP hulp

04/12/2020 01:03:46
 
- Ariën -
Beheerder

- Ariën -

30/03/2020 23:57:06
Quote Anchor link
Excuus, verkeerd gelezen. Dit zou moeten werken!
Met filter_array:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$arr
= array("Ja", "Nee", "", "Blala", "Tralala");
print_r(array_filter($arr));
?>
Gewijzigd op 31/03/2020 00:07:54 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

31/03/2020 00:11:30
Quote Anchor link
En wat als je per ongeluk een spatie invult ofzo?

Het bovenstaande zal zeker werken, maar als je niet wilt dat mensen fouten kunnen maken met invoer, en de invoer ligt tot op zekere hoogte vast, geef ze dan ook niet de ruimte om fouten te maken, maar geef ze een andere constructie waarbij dit niet mogelijk is, bijvoorbeeld checkboxen of een multiselect of dropdowns of wat dan ook. Maar geen vrij in te vullen velden.

Vaak is het handiger om eerst na te denken over een goede aanpak, en dan pas over een goede oplossing voor deze aanpak :p.
Gewijzigd op 31/03/2020 00:12:46 door Thomas van den Heuvel
 
- Ariën -
Beheerder

- Ariën -

31/03/2020 00:57:02
Quote Anchor link
Daarom is een validatie op lege velden in het begin van proces een goed idee.
Je kan op deze manier eenvoudig kijken of iets echt leeg is, en geen spatie bevat:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(trim($var)=="") {
    // het is écht leeg
}
?>

Als er aan de validatie is voldaan, dan kan je verder met het proces.
Array_filter zou je dan niet eens nodig mogen hebben.
 



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.