Save multiple inputs / if empty
Bryan De Baar
30/03/2020 23:07:58Het is misschien een stomme vraag maar hoe kun je controleren op empty met een multiple save?
Nu wil ik deze opslaan maar niet de value van input 2 omdat deze leeg is.
Code (php)
1
2
3
4
2
3
4
<input name="fruit[]" value="banaan"/>
<input name="fruit[]" value=""/>
<input name="fruit[]" value="appel"/>
<input name="fruit[]" value="peer"/>
<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)
1
2
3
4
5
6
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
}
?>
//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
24/11/2024 06:18:58Excuus, verkeerd gelezen. Dit zou moeten werken!
Met filter_array:
Met filter_array:
Code (php)
1
2
3
4
2
3
4
<?php
$arr = array("Ja", "Nee", "", "Blala", "Tralala");
print_r(array_filter($arr));
?>
$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
31/03/2020 00:11:30En 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.
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
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:
Als er aan de validatie is voldaan, dan kan je verder met het proces.
Array_filter zou je dan niet eens nodig mogen hebben.
Je kan op deze manier eenvoudig kijken of iets echt leeg is, en geen spatie bevat:
Als er aan de validatie is voldaan, dan kan je verder met het proces.
Array_filter zou je dan niet eens nodig mogen hebben.