PHP表单中的特殊字符

PHP表单中的特殊字符,php,html,forms,character,Php,Html,Forms,Character,此表单接受特殊字符,例如,a,ç,è,。。。在每一个地方,除了naam和voornaam,这意味着名字和名字。当名字中有特殊字符的人填写字段时,我不会收到消息,这很奇怪,因为除了纳姆和沃纳姆,它在每个字段都有效。需要帮忙吗 <?php if(isset($_POST['submit'])) { $onderwerp = "Iemand gebruikte het contactfo

此表单接受特殊字符,例如,a,ç,è,。。。在每一个地方,除了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
        
        }
?>

@op当您说表单不接受这些字段中的字符时,您的意思是什么?这种接受通常是在输入验证过程中处理的,您几乎不做任何验证。对每个字段进行一些单独的输入验证,您将更容易找到问题的答案。首先检查每个字段是否已设置,然后检查它是否为空,然后检查它是否对应于某个正则表达式。在执行此操作时打印内容,您将能够诊断您的问题…@fast reflections如果有人填写这些字段,并且此人的名字是Jòhn Doè,我将不会通过邮件获得该表格。但是,当您用特殊字符填写街道名称或任何其他字段时,没有问题。只有纳姆和沃纳姆才不会起作用。此外,对于用户来说没有问题,因为对他来说,它将发送,并且他将在网站上获得成功消息。但我永远不会通过邮件收到表格。非常奇怪。看看这里,记录在案,你应该用U kunt nu。。。而不是U-kan。