php html контактная форма с арабским сообщением

64
8

Я работаю над формой контакта для своего сайта, все работает хорошо, если я заполняю входные данные на английском языке, но если я заполняю входные данные на арабском языке, я не получаю никаких писем, как я могу это исправить?

это мой код:

Код HTML:

<section class="body">

<form action="form.php" method="post" enctype="multipart/form-data">

<h1 class="title">Contact</h1>

<label></label>
<input name="d_name" required="required" placeholder="أسم المندوب">

<label></label>
<input name="d_phone" type="text" required="required" placeholder="رقم هاتف المندوب">

<label></label>
<input name="c_name" type="text" required="required" placeholder="أسم المشترك">

<label></label>
<input name="phonee" required="required" type="text" placeholder="رقم هاتف المشترك" />

<label></label>
<select class="dropdown-select" name="comp" required="">
<option disabled="disabled" selected="selected" value="">أختر الشركة</option>
<option value="جولان">جولان</option>
<option value="بارتنير">بارتنير</option>
<option value="بلفون">بلفون</option>
<option value="تيلزار 019">تيلزار 019</option>
</select>

<label></label>
<select name="type" required="">
<option disabled="disabled" selected="selected" value="">اختر نوع الرقم</option>
<option value="فاتورة">فاتورة</option>
<option value="كرت">كرت</option>
</select>

<label></label>
<input name="sim" required="required" type="text" placeholder="رقم الشريحة" />

<label></label>
<textarea name="message" cols="20" rows="5" required="required" placeholder="Message"></textarea>

<input id="cancel" name="cancel" value="Cancel" />

<input id="submit" name="submit" type="submit" value="Submit">

</form>

</section>

PHP-код:

<?php
$name = $_POST['d_name'];
$phone = $_POST['d_phone'];
$cname = $_POST['c_name'];
$cphone = $_POST['phonee'];
$comp = $_POST['comp'];
$sim = $_POST['sim'];
$type = $_POST['type'];
$message = $_POST['message'];
$from = 'From:' . $_POST['d_name'];
$to = 'Noor_Phone@hotmail.com';
$subject = 'Email Inquiry';

$body = "Delegate Name: $name\n Delegate phone: $phone\n\n\n Customer Name: $cname\n Customer Phone: $cphone\n Line Type: $type\n Company: $comp\n Sim Number: $sim\n Message:\n $message";
?>

<?php
if ($_POST['submit']) {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Thank you for your email!</p>';
} else {
echo '<p>Oops! An error occurred. Try sending your message again. </p>';
}
}
?>

спросил(а) 2021-01-27T20:15:07+03:00 4 месяца, 4 недели назад
1
Решение
77

Вместо использования встроенной функции почты php используйте phpmailer. Это решит вашу проблему. Используя этот класс, вы можете установить кодировку:

$mail->CharSet = 'UTF-8';

Для дополнительного устранения неполадок вы можете

<meta charset="utf-8">

У вас также есть возможность включить атрибут charset в тег формы:

<form action="form.php" method="post"
enctype="multipart/form-data" accept-charset="utf-8">

Или посмотрите на этот старый ответ SO на отправку арабского контента по электронной почте.

Надеюсь, это поможет.

ответил(а) 2021-01-27T20:15:07+03:00 4 месяца, 4 недели назад
45

Установка Html Lang может помочь в этой ситуации

<html lang="ar">

Ссылка на http://www.w3schools.com/tags/ref_language_codes.asp

ответил(а) 2021-01-27T20:15:07+03:00 4 месяца, 4 недели назад
45

спасибо за помощь, это ответ:

Код HTML:

        <h1 class="title">Contact</h1>

<label></label>
<input name="d_name" required="required" placeholder="أسم المندوب">

<label></label>
<input name="d_phone" type="text" required="required" placeholder="رقم هاتف المندوب">

<label></label>
<input name="c_name" type="text" required="required" placeholder="أسم المشترك">

<label></label>
<input name="phonee" required="required" type="text" placeholder="رقم هاتف المشترك" />

<label></label>
<select class="dropdown-select" name="comp" required="">
<option disabled="disabled" selected="selected" value="">أختر الشركة</option>
<option value="جولان">جولان</option>
<option value="بارتنير">بارتنير</option>
<option value="بلفون">بلفون</option>
<option value="تيلزار 019">تيلزار 019</option>
</select>

<label></label>
<select name="type" required="">
<option disabled="disabled" selected="selected" value="">اختر نوع الرقم</option>
<option value="فاتورة">فاتورة</option>
<option value="كرت">كرت</option>
</select>

<label></label>
<input name="sim" required="required" type="text" placeholder="رقم الشريحة" />

<label></label>
<textarea name="message" cols="20" rows="5" required="required" placeholder="Message"></textarea>

<input id="cancel" name="cancel" value="Cancel" />

<input id="submit" name="submit" type="submit" value="Submit">

</form>

</section>

Код PHP:

<?php
$mail->CharSet = 'UTF-8';
$name = $_POST['d_name'];
$phone = $_POST['d_phone'];
$cname = $_POST['c_name'];
$cphone = $_POST['phonee'];
$comp = $_POST['comp'];
$sim = $_POST['sim'];
$type = $_POST['type'];
$message = $_POST['message'];
$formcontent="Delegate Name: $name\n Delegate phone: $phone\n\n\n Customer Name: $cname\n Customer Phone: $cphone\n Line Type: $type\n Company: $comp\n Sim Number: $sim\n Message:\n $message";
$recipient = "Noor_Phone@hotmail.com";
$subject = "Contact Form";
$mailheader = "From: admin@4uphone.co.il";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!" . " -" . "<a href='contact.html' style='text- decoration:none;color:#ff0099;'> Return Home</a>";
?>

ответил(а) 2021-01-27T20:15:07+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема