Jeg har lige gjort den if lidt mere læselig, men kunne ikke se nogen fejl, som skulle kunne give den fejlbesked. Er det også if-linien, der var linie 8 hos dig? Er du sikker på, at du har skrevet rigtigt af?
Jeg har tilføjet muligheden for et emne, men har ikke sat krav om at det skal være udfyldt. Der kommer bare et standardemne, når det ikke er udfyldt.
<?php
$modtagere=array(
'Administration' => 'admin@server',
'Webmaster' => 'webmaster@server'
);
if(
isset($_POST['besked']) &&
!empty(trim($_POST['besked'])) &&
isset($_POST['modtager']) &&
isset($modtagere[$_POST['modtager']])
){
$emne=(!empty($_POST['emne']))?$_POST['emne']:"Besked fra kontaktformular";
mail($modtagere[$_POST['modtager']],$emne,$_POST['besked']);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd"><html>
<head>
<title>Tak for beskeden</title>
</head>
<body>
Din besked er nu sendt til <?php echo $_POST['modtager']; ?>, som vil læse den snarest.
</body>
</html>
<?php
} else {
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd"><html>
<head>
<title>Kontaktformular</title>
</head>
<body>
<form action='' method='post'>
<p>
Modtager: <select name='modtager'>
<?php
foreach($modtagere as $navn => $adresse){
echo "<option value='{$navn}'>{$navn}</option>";
}
?>
</select><br>
Emne: <input type='text' name='emne'><br>
Besked: <input type='text' name='besked'><br>
<input type='submit' name='send' value='send'>
</p>
</form>
</body>
</html>
<?php
}
?>