Ik heb ook een vraagje over radio button

dit is wat er staat in mijn php script

<?php
 if(isset($_POST['gender'])

 { 

 if(empty($gender)) // Als het voornaam veld niet is ingevuld
 {
 print '<p>bent u man of vrouw!</p>';
 $fout = true; // Zorgen dat het script zometeen weet dat er wat fout is
 }
 }
?>

en dit staat er in mijn form.


 <input type="radio" name="geslacht" value="man">Male<br>
 <input type="radio" name="geslacht" value="vrouw">Vrouw


ik krijg alleen maar de fout melding dat ik geen keus zou hebben gemaakt, terwijl ik dat wel heb gedaan.
wat doe ik fout.

<input type="radio" name="gender" value="man">Male<br>

maak daar eens van:

<input type="radio" name="gender" value="man" checked="checked">Male<br>

Daarmee kan een normale gebruiker niet meer vergeten om een geslacht aan te vinken

[size=xsmall]Toevoeging op 08/07/2014 13:08:20:[/size]


Als je naar school wilt
  Als je je schoenen niet aan hebt,
  trek je schoenen aan.

Als je naar school wilt
   Als de deur dicht is,
   open de deur.

Als je naar school wilt
   Als je fiets er staat,
   stap de fiets.

Als je naar school wilt,
   sla rechts af....


Leest irritant he?

Als je 1x bepaalt of je naar school wilt, kun je daarna al die handelingen doen die daarbij horen.

Zo ook met je POST

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
// controle email

// controle naam

// controle geslacht

// etc

}
?>

En niet 10x een lap code copy-pasten onder het mom "het werkte net, dus ik pas het nog een keer toe met kleine aanpassing".

Probeer te snappen wat je script.
het enigste wat ik bereik met die regel van jou is, dat man automatische staat aangevinkt.

maar verder werkt hij nog steeds niet, als je het verstuurt krijg ja alles in je mail zoals voornaam achternaam email en bericht maar niet of je een mannetje of vrouwtje bent
dus?

welke var is dan niet ingevuld?
sorry hoor ik heb echt van alles geprobeerd maar ik kom er gewoon niet uit

[size=xsmall]Toevoeging op 08/07/2014 15:17:12:[/size]

<input type="radio" name="gender" value="man">man<?php echo $gender;?>

werkt ook niet
ok
Gender is dus niet ingevuld? Want je krijgt niet "man" op het scherm?

Of gaat het er daar om, dat er "man" op het scherm staat, terwijl je de juiste radio aangevinkt wilt zien?

[size=xsmall]Toevoeging op 08/07/2014 15:23:27:[/size]

sowieso de vraag, waar $gender dan vandaan komt.

Als dat uit de post moet komen, dan zou je daar $_POST ook moeten aanspreken.

bijvoorbeeld met

filter_input(INPUT_POST, 'geslacht')
ik woord er echt helemaal moedeloos van niks werkt gewoon.

alles doet het als je op verzenden drukt stuurt hij gewoon voornaam achternaam mail en bericht mee.

maar niet man of vrouw
En hoe ziet dat stukje code er dan uit?
Geen hele lap code graag.
Een input van het type radio komt alleen terug in de $_POST variabele indien er een keuze is gemaakt. Is geen van de keuzes geselecteerd dan zie je hem ook niet terug komen.
Ook moet het "name" field van alle radio's in de radiogroep aan elkaar gelijk zijn.
Door geen keuze als default mee te geven kun je mensen verplichten echt een keuze te maken. De ID's moeten daarintegen juist een unieke naam hebben.


<input type="radio" id="groep_1" name="groep" value="man">
<input type="radio" id="groep_2" name="groep" value="vrouw">
<input type="radio" id="groep_3" name="groep" value="travestiet" checked>
<input type="radio" id="groep_4" name="groep" value="transgender">


Knip en plak bovenstaande code maar eens in je programma, dit geeft in je $_POST voor de variabele groep de waarde travestiet terug.
de voor- en achternaam zet je in de from header.
Het email adres ook

(alle 3 onveilig, maar ach...)

Het bericht zet je in de body van de mail.

Waar precies had je het geslacht willen zien? En waarom denk je dat dat op die plek dan verschijnt?

Reageren