Hi all,

Ik gebruik onderstaand formulier van http://www.jemjabella.co.uk/php-scripts-php-mail-form

En wil hem iets uitbreiden, maar loop dan vast ....

Ik wil dus dat de dropdown verplicht gekozen moet worden, voordat het formulier verzonden kan worden.

Kan iemand me op weg helpen ?

edit; even opgeschoond, zie hieronder voor waar het eigenlijk over gaat ....
Zet relevante code neer en zet het daarna ook nog tussen code tags =)
Er zijn weinige die dit helemaal voor je gaan onderzoeken.......
Ik dacht zo compleet mogelijk te zijn ....

Komt ie:

Het betreft deze drop-down (hard-coded);

<select name="geheim" id="geheim">
<option selected>Maak een keuze</option>
<option value="geheim01">geheim01</option>
<option value="geheim02">geheim02</option>
<option value="geheim03">geheim03</option>
<option value="geheim04">geheim04</option>
</select>


------------

Ik snap dus hoe een tekstveld te valideren:

if (empty($_POST['deelnemers'])) { $error_msg .= "Aantal deelnemers is een verplicht veld. \n"; }


Maar weet niet hoe deze actie op een (bovenstaande) Drop-Down-List toe te passen.
Gewoon $_POST['geheim'].
En dan bedoel je:

if (empty($_POST['geheim'])) { $error_msg .= "U dient een Geheim te kiezen. \n"; }

Dat werkt dus niet.
Omdat deze code betrekking heeft op een tekstveld.

Net zoals
function get_chkbx($var) {
if (isset($_POST[$var]))
echo 'checked="checked"';
}
zich specifiek zich richt op ... checkboxes ...

Dus de basis voor die regel dient al anders te zijn, vermoed ik .....
Kan je niet is_numeric gebruiken?
Aangezien je toch alleen maar wilt kijken of er een getal is geselecteerd.

<?php
if(!is_numeric($_POST['geheim']))
{
// Geen nummer ingevoerd.
}
?>

Of geef de optie "Maak een keuze" een letter als value mee zodat het bovenstaande zeker werkt.

Er zal vast wel een betere oplossing voor je probleem zijn.
Uiteindelijk komt er wel tekst in, dit is een simpel voorbeeld.

Dus gaat er ook om dat in het uiteindelijk verstuurde formulier ook te lezen is welk gehiem er is gekozen, niet alleen een nummer .... dat blijft te vaag voor degene die het uiteindelijk gaat ontvangen ...
Werkt dit misschien?
<?php
if ($_POST['geheim'] == 'Maak een keuze')
{
$error_msg .= "U dient een Geheim te kiezen. \n";
}
?>
SanThe Nvt:

Zag er al veelbelovend uit, en bij deze kan ik bevestigen dat het werkt .....

lekker .....

Proost !
wat je ook had kunnen doen, is wel de empty check gebruiken, en de standaard keuze dan de value="" erbij te zetten.
(is misschien wel handig als je je script multi lang wel gaan maken)
Nico:
Die zie ik zelf nog niet helemaal voor me, maar zal eerdaags nog eens experimenteren .....

Reageren