Het is handiger om dan een functie te maken die deze drie tags in elkaar zet. Ook voor het start en eind van het formulier kan je functies maken, Denk hier bijvoorbeeld aan deze functie signaturen:
function ShowFormStart() { }
function ShowFormField($fieldName, $label, $type, $data, $options=NULL, $optional=false) { }
function ShowFormEnd($returnPage, $submitButtonText) { }
Voor het contactformulier kan je dan een extra array met 'opties' toevoegen bijvoorbeeld bovenin contact.php (zoals je heb geprobeerd hebt met $communicationmethod):
en hiermee respectievelijk de $type == "select" verschillende <option>s te maken of de $type == "radio" de combinatie van <input type="radio"> en het <label>, door er "doorheen" te lopen met een foreach($options as $key => $label)
Bovenstaande code wordt dan:
In dit voorbeeld is $data is de associatieve array met alle variabelen als $name, $name_error, etc.
Als ik naar je formulieren kijk zie ik wel wat herhaling, dit zou handiger kunnen https://github.com/AchrafReyani/educom-webshop-basis/blob/7b04040a2bf27307f80e76e2e3452e57413b73b6/contact.php#L84-L120 Voor velden zie je steeds dat er steeds een
<div>
met daarin een<label>
een<input>/<select>/<textarea>
met daarachter een<span>
tag.Het is handiger om dan een functie te maken die deze drie tags in elkaar zet. Ook voor het start en eind van het formulier kan je functies maken, Denk hier bijvoorbeeld aan deze functie signaturen:
Voor het contactformulier kan je dan een extra array met 'opties' toevoegen bijvoorbeeld bovenin
contact.php
(zoals je heb geprobeerd hebt met$communicationmethod
):en hiermee respectievelijk de
$type == "select"
verschillende<option>
s te maken of de$type == "radio"
de combinatie van<input type="radio">
en het<label>
, door er "doorheen" te lopen met eenforeach($options as $key => $label)
Bovenstaande code wordt dan: In dit voorbeeld is
$data
is de associatieve array met alle variabelen als $name, $name_error, etc.Dezelfde array kan je ook gebruiken bij de validatie (of de gegeven key wel voorkomt in de array met
array_key_exists($pronoun, PRONOUNS)
)en ook in het tonen van het bedankje