Проблема со специальными символами - контактная форма - PullRequest
0 голосов
/ 24 ноября 2018

У меня небольшая проблема с контактной формой.Когда я отправляю сообщение, в теме и имени отправителя не отображаются специальные символы.В окне сообщения отображаются специальные символы правильно.Я установил UTF-8, поэтому я думаю, что он должен работать для всех полей.Понятия не имею.

Мой код PHP:

define( "RECIPIENT_NAME", "My name" );
define( "RECIPIENT_EMAIL", "info@domain.com" );

$success = false;
$senderName = isset( $_POST['username'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['username'] ) : "";
$senderEmail = isset( $_POST['email'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['email'] ) : "";
$subject = isset( $_POST['subject'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['subject'] ) : "";
$message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message'] ) : "";

if ( $senderName && $senderEmail && $subject && $message) {
  $recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";

  /* $headers = "From: " . $senderName . " <" . $senderEmail . ">"; */

  $headers = 'From:'.$senderName.' <'.$senderEmail.'>' . "\r\n";
  $headers .= "MIME-Version: 1.0" . "\r\n";
  $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";


  $msgBody = "From: " . $senderName . "<br><br>Message:<br>" . $message;
  $success = mail( $recipient, $subject, $msgBody, $headers );


  header('Location: contact.php');
}

else {
    header('Location: index.php');  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...