此表单在每个地方都接受特殊字符(é,à,ç,è,...),除了“naam”和“voornaam”,这意味着姓名和名字。当名字中有特殊性格的人填写字段时我就不会收到消息,因为它适用于除“naam”和“voornaam”之外的所有领域,所以非常奇怪。有什么帮助吗?
<?php
if(isset($_POST['submit']))
{
$onderwerp = "Iemand gebruikte het contactformulier";
$emailadres = ( trim($_POST['email']) == "" ) ? 'contact@xxx.be' : $_POST['email']; // E-mailadres van de afzender
$naar = 'xxx@outlook.be'; // E-mailadres van de ontvanger
$afzendernaam = explode('@',$emailadres);
$afzendernaam = $_POST['naam'] . ' ' . $_POST['voornaam'];
$header = "From: ".$afzendernaam." <".$emailadres.">\r\n";
$header .= "Reply-To: ".$emailadres." \r\n";
$header .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
$header .= "X-Priority: 3\r\n";
$header .= "X-MSMail-Priority: Normal\r\n";
$header .= "X-Mailer: PHP / ".phpversion()."\r\n";
$mail = 'Naam: '.$_POST['naam'].'
Voornaam: '.$_POST['voornaam'].'
Adres: '.$_POST['straat'].'
Postcode: '.$_POST['postcode'].'
Telefoon: '.$_POST['telefoon'].'
E-mail: '.$_POST['email'].'
Bericht: '.$_POST['bericht'].'';
mail($naar, $onderwerp, $mail,$header);
echo "Het formulier is succesvol verzonden, u kan nu verder gaan op de website.";
}
else
{
?>
<div id="wrapper">
<form action="" method="post">
<p class="underline">Of via ons online contactformulier:</p>
<br>
<label>Uw naam:</label>
<input type="text" name="naam">
<br>
<label>Uw voornaam:</label>
<input type="text" name="voornaam">
<br>
<label>Uw straat en huisnummer:</label>
<input type="text" name="straat">
<br>
<label>Uw postcode:</label>
<input type="number" name="postcode">
<br>
<label>Uw telefoonnummer:</label>
<input type="number" name="telefoon">
<br>
<label>Uw e-mailadres:</label>
<input type="email" name="email">
<br>
<label>Uw bericht:</label>
<textarea rows="6" cols="25" name="bericht"></textarea>
<br>
<br>
<br />
<input type="submit" name="submit" value="Verzenden" class="submit">
</form>
</div>
<?php
}
?>