ใช้ ajax add ข้อมูล ภาษาไทยไม่ได้
ทำไมเวลา add ข้อมูลที่เป็นภาษาไทย
จากหน้า form ลงฐานข้อมูล
แล้วมันเป็นช่องว่างๆ___________แบบนี้อะครับ
แต่ถ้า add เป็นภาษาอังกฤษ ก็ไม่มีปัญหาอะไรครับ แก้ไขยังไงดีครับ
อีกอย่าง ทำไมมันรันได้แต่ IE
firefox มันรันไม่ได้อะ ไม่ทำงานเลย
ทุกไฟล์เข้ารหัสแบบ utf-8 และฐานข้อมูลก็เป็น utf-8
<html>
<head>
<title> Register </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="javascript">
function insertmysql()
{
var objRequest = createRequestObject();
function createRequestObject() {
var objTemp = false;
if (window.XMLHttpRequest) {
objTemp = new XMLHttpRequest();
} else {
objTemp = new ActiveXObject("Microsoft.XMLHTTP");
}
return objTemp;
}
var user=document.getElementById("register").username.value;
var password1=document.getElementById("register").password1.value;
var password2=document.getElementById("register").password2.value;
var name_th=document.getElementById("register").name_th.value;
var sur_th=document.getElementById("register").sur_th.value;
var tel=document.getElementById("register").tel.value;
var str=Math.random();//แก้ปัญหา catch
var querystr="";
querystr+="insertmysql.php?pop="+str;
querystr+="&user="+user;
querystr+="&password="+password1;
querystr+="&name_th="+name_th;
querystr+="&sur_th="+sur_th;
querystr+="&tel="+tel;
alert(querystr);
if (objRequest) {
objRequest.open("GET",querystr);
objRequest.onreadystatechange = handleResponse;
objRequest.send(null);
}
function handleResponse() {
if (objRequest.readyState == 4 && objRequest.status == 200) {
alert("ลงทะเบียนเรียบร้อยแล้ว");
}
}
}//จบฟังชั่น
</script>
</head>
<body>
<h1>Register</h1>
<form name="register" id="register">
Username : <input type="text" name="username" id="username"><br/>
Password : <input type="password" name="password1" id="password1"><br/>
Re-password : <input type="password" name="password2" id="password2"><br/>
Name : <input type="text" name="name_th" id="name_th"><br/>
Last name : <input type="text" name="sur_th" id="sur_th"><br/>
Telephone : <input type="text" name="tel" id="tel"><br/>
<input type="submit" value="ลงทะเบียน" onclick="insertmysql();">
</form>
</body>
</html>
อันนี้ไฟล์ php
<?
$user=$_GET["user"];
$password=$_GET["password"];
$name_th=$_GET["name_th"];
$sur_th=$_GET["sur_th"];
$tel=$_GET["tel"];
$host="localhost";
$user_n="root";
$pass="";
$db="db_mua";
$conn=mysql_connect($host,$user_n,$pass);
if(!$conn) {
echo "<h2>ไม่สามารถติดต่อฐานข้อมูลได้</h2>";
exit();
}
mysql_select_db($db);
mysql_query("SET NAMES utf8",$conn);
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
mysql_query("SET collation_connection = @@collation_database");
$sql="insert into profile values('','$user','$password','$name_th','$sur_th','$tel','')";
mysql_query($sql,$conn);
mysql_close($conn);
?>
จากหน้า form ลงฐานข้อมูล
แล้วมันเป็นช่องว่างๆ___________แบบนี้อะครับ
แต่ถ้า add เป็นภาษาอังกฤษ ก็ไม่มีปัญหาอะไรครับ แก้ไขยังไงดีครับ
อีกอย่าง ทำไมมันรันได้แต่ IE
firefox มันรันไม่ได้อะ ไม่ทำงานเลย
ทุกไฟล์เข้ารหัสแบบ utf-8 และฐานข้อมูลก็เป็น utf-8
<html>
<head>
<title> Register </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="javascript">
function insertmysql()
{
var objRequest = createRequestObject();
function createRequestObject() {
var objTemp = false;
if (window.XMLHttpRequest) {
objTemp = new XMLHttpRequest();
} else {
objTemp = new ActiveXObject("Microsoft.XMLHTTP");
}
return objTemp;
}
var user=document.getElementById("register").username.value;
var password1=document.getElementById("register").password1.value;
var password2=document.getElementById("register").password2.value;
var name_th=document.getElementById("register").name_th.value;
var sur_th=document.getElementById("register").sur_th.value;
var tel=document.getElementById("register").tel.value;
var str=Math.random();//แก้ปัญหา catch
var querystr="";
querystr+="insertmysql.php?pop="+str;
querystr+="&user="+user;
querystr+="&password="+password1;
querystr+="&name_th="+name_th;
querystr+="&sur_th="+sur_th;
querystr+="&tel="+tel;
alert(querystr);
if (objRequest) {
objRequest.open("GET",querystr);
objRequest.onreadystatechange = handleResponse;
objRequest.send(null);
}
function handleResponse() {
if (objRequest.readyState == 4 && objRequest.status == 200) {
alert("ลงทะเบียนเรียบร้อยแล้ว");
}
}
}//จบฟังชั่น
</script>
</head>
<body>
<h1>Register</h1>
<form name="register" id="register">
Username : <input type="text" name="username" id="username"><br/>
Password : <input type="password" name="password1" id="password1"><br/>
Re-password : <input type="password" name="password2" id="password2"><br/>
Name : <input type="text" name="name_th" id="name_th"><br/>
Last name : <input type="text" name="sur_th" id="sur_th"><br/>
Telephone : <input type="text" name="tel" id="tel"><br/>
<input type="submit" value="ลงทะเบียน" onclick="insertmysql();">
</form>
</body>
</html>
อันนี้ไฟล์ php
<?
$user=$_GET["user"];
$password=$_GET["password"];
$name_th=$_GET["name_th"];
$sur_th=$_GET["sur_th"];
$tel=$_GET["tel"];
$host="localhost";
$user_n="root";
$pass="";
$db="db_mua";
$conn=mysql_connect($host,$user_n,$pass);
if(!$conn) {
echo "<h2>ไม่สามารถติดต่อฐานข้อมูลได้</h2>";
exit();
}
mysql_select_db($db);
mysql_query("SET NAMES utf8",$conn);
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
mysql_query("SET collation_connection = @@collation_database");
$sql="insert into profile values('','$user','$password','$name_th','$sur_th','$tel','')";
mysql_query($sql,$conn);
mysql_close($conn);
?>
$sql="insert into profile values('','$user','$password','$name_th','$sur_th','$tel','')";
mysql_query("SET NAMES 'tis620'");<---------เพิ่มตรงนี้
mysql_query($sql,$conn);
mysql_close($conn);
objRequest.open("GET",querystr,true); //ใส่ true