Du kan jo lave det, ligesom du gør med dine andre inputfelter. Der er ingen grund til at gå over i JavaScript lige pludselig. (medmindre du ønsker, at den skal give fejl straks, når man klikker submit, inden den foretager sig noget. Men gør du jo heller ikke med de andre fejl, så hvorfor gøre det anderledes her..)
if(!$_POST['valg']){
$err = "Du skal vælge mindst en valgmulighed.";
}
I øvrigt, så virker din kode ike korrekt med dine valideringer af hvad jeg lige kan se.
if(isset($_POST['navn']) && isset($_POST['email']) && isset($_POST['valg'])){
//Hvis et felt er tomt, erklær fejl. $err
if(empty($_POST['navn'])){
$err = "Du skal udfylde navn.";
}
if(empty($_POST['email'])){
$err = "Du skal udfylde email.";
}
else
{
//Send besked. Indsæt i database
mysql_query("INSERT INTO bestilmateriale (navn, email, valg) VALUES('$navn', '$email', '$valg')")
or die(mysql_error());
$success = "Din besked er sendt";
}
}
Hvis en person ikke udfylder sit navn, vil den sende data til din database alligevel. Du har lavet en else sætning der ikke fungerer korrekt. Den har du placeret på $_POST['mail'], hvilket vil sige, at den reagere kun ud fra om den er udfyldt eller ej.
Enten skal du lave dine valideringer som if, else if og så til sidst else. Så kan du gøre det.
Eller også skal du bare lave en simpel if sætning, som jeg nok ville gøre.
if (!$err) {
send til database...
}