ajax contact
สอบถาม อ. ครับ ผมลองใช้ ajax contact โค๊ดด้านล่างครับ รายละเอียดส่งไปยังเมล์อ่านภาษาไทยได้ แต่ชื่อเรื่องและชื่อผู้ส่งในหน้าแรกของ hotmail.com ไม่เป็นภาษาไทยครับ อ่านไม่ออกเลยครับ ช่วยดูให้หน่อยครับ
ไฟล์ AjaxPHPContactForm1.php
<html>
<head>
<title>ThaiCreate.Com Ajax Tutorial</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>
<script language="JavaScript">
var HttPRequest = false;
function doCallAjax() {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = 'AjaxPHPContactForm2.php';
var pmeters = "tTo=" + encodeURI( document.getElementById("txtTo").value) +
"&tSubject=" + encodeURI( document.getElementById("txtSubject").value ) +
"&tDescription=" + encodeURI( document.getElementById("txtDescription").value ) +
"&tFormName=" + encodeURI( document.getElementById("txtFormName").value ) +
"&tFormEmail=" + encodeURI( document.getElementById("txtFormEmail").value );
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("mySpan").innerHTML = "Now is Loading...";
}
if(HttPRequest.readyState == 4) // Return Request
{
if(HttPRequest.responseText == 'Y')
{
document.getElementById("mySpan").innerHTML = "Email Sending";
document.getElementById("tbContact").style.display = 'none';
}
else
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
}
}
}
}
</script>
<body>
<h1>Contact Form</h1>
<form name="frmMain">
<span id="mySpan"></span>
<br>
<table width="343" border="1" id="tbContact">
<tr>
<td>To</td>
<td><input name="txtTo" type="text" id="txtTo" value=xxx@hotmail.com </td>
</tr>
<tr>
<td>Subject</td>
<td><input name="txtSubject" id="txtSubject" type="text"></td>
</tr>
<tr>
<td>Description</td>
<td><textarea name="txtDescription" id="txtDescription" cols="30" rows="4"></textarea></td>
</tr>
<tr>
<td>Form Name</td>
<td><input name="txtFormName" id="txtFormName" type="text"></td>
</tr>
<tr>
<tr>
<td>Form Email</td>
<td><input name="txtFormEmail" id="txtFormEmail" type="text"></td>
</tr>
<tr>
<td> </td>
<td><input name="btnSend" type="button" id="btnSend" OnClick="JavaScript:doCallAjax();" value="Send"></td>
</tr>
</table>
</form>
</body>
</html>
ไฟล์รับค่า AjaxPHPContactForm2.php
<?php
$strTo = trim($_POST["tTo"]);
$strSubject = trim($_POST["tSubject"]);
$strDescription = trim($_POST["tDescription"]);
$strFormName = trim($_POST["tFormName"]);
$strFormEmail = trim($_POST["tFormEmail"]);
//*** Check To ***//
if(trim($strTo) == "")
{
echo "<font color=red>**</font> Plase input [To]";
exit();
}
//*** Check Subject ***//
if(trim($strSubject) == "")
{
echo "<font color=red>**</font> Plase input [Subject]";
exit();
}
//*** Check Description ***//
if(trim($strDescription) == "")
{
echo "<font color=red>**</font> Plase input [Description]";
exit();
}
//*** Check From Name ***//
if(trim($strFormName) == "")
{
echo "<font color=red>**</font> Plase input [From Name]";
exit();
}
//*** Check From Email ***//
if(trim($strFormEmail) == "")
{
echo "<font color=red>**</font> Plase input [From Email]";
exit();
}
$strHeader = "Content-type: text/html; charset=UTF-8\n"; // or UTF-8 //
$strHeader .= "From: ".$strFormName."<".$strFormEmail.">\nReply-To: ".$strFormEmail."";
$strMessage = nl2br($strDescription);
$flgSend = @mail($strTo,$strSubject,$strMessage,$strHeader); // @ = No Show Error //
if($flgSend)
{
echo "Y";
}
else
{
echo "<font color=red>**</font> Email Cannot Send";
}
?>