In een form blijven de gegevens staan na controle.
Dat lukt prima.
Mijn checkboxen en dropdown-list krijg ik niet terug gekoppeld.
Is meer of dit mogelijk is, dan dat ik het perse moet toepassen.
Bedankt vast voor het meedenken..
De gewone values krijg ik als volgt terug:

<input name="birth" type="text" class="field" value="<? echo $_POST['birth']; ?>" />


De code voor de checkboxen:

<input class="single-checkbox" type="checkbox" name="Werk[]" value="Zang">Zang
<input class="single-checkbox" type="checkbox" name="Werk[]" value="Geluid">Geluid


De code van het dropdown-menu (nog geen php beschikbaar):

<select name="country_code" />
    <option value="NL">NL</option>
    <option value="BE">BE</option>
    <option value="DU">DU</option>
    <option value="FR">FR</option>
    <option value="AU">AU</option>
    <option value="UK">UK</option>
    <option value="IT">IT</option>
    <option value="ES">ES</option>
    <option value="SE">SE</option>
    <option value="DK">DK</option>
    <option value="US">US</option>
    <option value="CA">CA</option>
  </select>

De PHP voor de checkboxen:

if (isset($_POST['Werk'])){
             foreach ($post['Werk'] as $value) {
                 echo $value;

             }            
         }
Ik zal het vrees ik weer eens niet snappen Ben, haha
Er gaat altijd een waarde naar de PHP toch?
Als er niks wordt geset dan is NL de ingestelde waarde.
De meeste zijn ook NL, maar heb ook Belgische en Duitse vrienden.
Vandaar ook de optie met andere postcodes.
Maar misschien is dit van belang als er meerder pulldowns in de form zouden zitten.
Maar als je dit toch noodzakelijk vindt, geef dan even een opzetje.
Bedankt voor je reactie.
De variabele $_POST['country_code'] is een variabele die niet altijd bestaat. Het bestaat alleen als het veld country_code is ingevoerd, na het versturen van je formulier via POST.

Daarom is het de bedoeling dat je altijd met isset($_POST['country_code']) of if($_SERVER['REQUEST_METHOD']=="POST") controleert of de variabele bestaat.

Doe je dit niet, dan kan je een foutmelding krijgen met, en zal je script misschien lege waardes gaan gebruiken, met verrassende resultaten tot gevolg.

Notice: Undefined index: country_code in /script.php on line X
Maar houdt dat dan in dat er altijd een keuze gemaakt moet worden?
Door bijv. altijd een voorkeuze te maken met een selected 'kies land'.
Dan moet er altijd geset worden.
Voor een formulier raad ik de tweede mogelijkheid aan. In die if-statement plaats je jouw formulierafhandelingen en $_POST-variabelen.
Hans De Ridder op 04/08/2017 18:32:52

Maar houdt dat dan in dat er altijd een keuze gemaakt moet worden?
Door bijv. altijd een voorkeuze te maken met een selected 'kies land'.
Dan moet er altijd geset worden.



Het heeft toch ook helemaal geen nut om iets te setten dat niks is?
Als je een lege keuze wilt, moet je die toevoegen als optie x b.v.
Volgens mij is het wel zo, dat als je een optie een lege waarde meegeeft, dat die $_POST variabele ook niet eens bestaat.
Ik heb hem tig keren laten lopen.
En telkens kwam de waarde NL netjes in mijn PHP.
Ook later met AU achter elkaar kwam de waarde netjes door.
Hij gaf dan uiteraard verder niet thuis omdat de gebruikersnaam en de email hetzelfde bleven.
Maar de keren dat ik wel verschillende waardes ingaf liep alles netjes door met de waardes.

Reageren