السلام عليكم
إن شاء الله راح ألقى الحل معاكم
أولا أنا مبتدئ في php وقمت بتحميل script php لعمل صفحة contact , وكل تمام لما أبعث رسائل بالفرنسية إلا أن بالعربية صار لي مشكل جنني في خانة موضوع الرسالة objet زي المثال في الأسفل
موضوع الرسالة : ت??ي?
بريدك الإلكتروني : redha@yahoo.fr
الرسالة : السلام عليكم ورحمة الله تعالى وبركاته
هدا كود الصفحة
<?php
$reset='<p class="bt">
<input type="reset" name="reset" tabindex="3" value="إفراغ"></p>';
$Envoi="\n".'<p class="bt">
<input name="envoi" tabindex="4" value="أرسل" type="submit"></p>';
if (isset($_POST['message']))
{
// La variable $verif va nous permettre d'analyser si la sémantique de l'email est bonne
$verif='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
//quelques remplacements pour les specialchars
$message=preg_replace('#(<|>)#', '-', $_POST['message']);
$message=str_replace('"', "'",$message);
$message=str_replace('&', 'et',$message);
$objet=preg_replace('#(<|>)#', '-', $_POST['objet']);
$objet=str_replace('"', "'",$objet);
$objet=str_replace('&', 'et',$objet);
// On assigne et/ou protège nos variables
$votremail=stripslashes(htmlentities($_POST['votremail']));
$message=stripslashes(htmlspecialchars($message));
$objet=stripslashes(htmlspecialchars($objet));
//input envoi/reset
$envoi=htmlentities($_POST['envoi']);
$reset=htmlentities($_POST['reset']);
//on enlève les espaces
$votremail=trim($votremail);
$message=trim($message);
$objet=trim($objet);
$apercu_resultat='<p></p>';
/*On vérifie si l'e mail et le message sont pleins, et on agit en fonction.
(on affiche Apercu du resultat, tel ou tel champ est vide, etc...*/
//Si ca ne vas pas (mal rempli, mail non valide...)
if((empty($message))or(empty($objet))or(!preg_match($verif,$votremail)))
{
//les 3 champs sont vides
if(empty($votremail)and(empty($message))and(empty($objet)))
{
echo '<p>جميع الخانات فارغة</p>';
$message='';$votremail='';$objet='';$apercu_resultat='';
}
//un des champs est vide
else
{
if(!preg_match($verif,$votremail))
echo'<p>عنوان البريد الإلكتروني غير صالح</p>';
else
{
echo'<p>يرجى ملء جميع الخانات</p>';
if(empty($message))
$apercu_resultat='';
}
}
}
//Si les deux sont pleins et que l'adresse est valide, on envoie on on prévisualise sans envoi
else
{
$domaine=preg_replace('#[^@]+@(.+)#','$1',$votremail);
$DomaineMailExiste=checkdnsrr($domaine,'MX');
if(!$DomaineMailExiste)
echo'<p>عنوان البريد الإلكتروني الذي أدخلته غير موجود</p>';
elseif(!empty($reset))
{
$apercu_resultat='';
$reset='';
}
elseif(!empty($envoi))
{
$objet=''.$objet;
$headers='From:'.$votremail."\r\n".
'To:'.$mail."\r\n". 'Content-type:text/plain;charset=utf-8'."\r\n".'Sent:'
.date('l, F d, Y H:i');
if(mail($destinataire,$objet,$message,$headers))
{
echo '<p>تم إرسال رسالتك شكرا لك</p><p><a href="/"></a></p>';
}
else
echo'<p>كانت هناك مشكلة أثناء إرسال البريد الإلكتروني</p>';
}
else
echo'<p>حدثت حالة غير متوقعة في البرنامج النصي</p>';
}
echo $apercu_resultat;
}
else
{
echo '<p></p>';
$votremail='';$message='';
}
$bas_formulaire=$reset.$Envoi;
?>
