check username โดยใช้ AJAX คือผมต้องการเช็ค username ว่าซ้ำกันหรือไม่ โดยใช้ Ajax ครับ
รู้สึกจะทู้นี้จะผ่านมาไม่นานครับ อยู่หน้า 2 หน้า 3 ถัดจากนี้ครับ หาเจอแล้วรบกวนมาโพสตอบด้วยน่ะครับ
Date :
2009-01-29 15:57:01
By :
webmaster
Code (ajax1.php)
<html>
<body>
<script language="JavaScript">
var HttPRequest = false;
function CallPOSTRequest(url,parameters) {
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;
}
HttPRequest.onreadystatechange = alertContener;
HttPRequest.open('POST', url, true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", parameters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(parameters);
}
function alertContener() {
if (HttPRequest.readyState == 4) {
if (HttPRequest.status == 200) {
result = HttPRequest.responseText;
document.getElementById('myspan').innerHTML = result;
} else {
//alert('There was a problem with the request.');
result = HttPRequest.responseText;
document.getElementById('myspan').innerHTML = result;
}
}
}
function SubmitContent(value) {
document.getElementById('myspan').style.visibility = 'hidden';
document.getElementById('myspan').style.visibility = 'visible';
var poststr = "User=" + encodeURI(document.getElementById('txtUser').value);
CallPOSTRequest('ajax2.php',poststr);
}
</script>
<form id="myform" action="" method="post">
<span id="myspan"></span><br>
<input type="text" name="txtUser">
<input name="Check" type="button" id="Check" value="Check" OnClick="JavaScript:SubmitContent();">
</form>
</body>
</html>
Code (ajax2.php)
<?
//************ MySQL Check *************//
mysql_connect("localhost","root","root");
mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM user WHERE UserName = '".trim($_POST["User"])."' ";
$objQuery = mysql_query($strSQL);
$intRows = mysql_num_rows($objQuery);
if($intRows>0)
{
echo "[".$_POST["User"]."] already exist.";
}
?>
รันไฟล์ ajax1.php ครับ และก็สร้าง table user ด้วยครับ
Date :
2009-01-29 17:21:31
By :
kilede
ขอบคุณครับ
Date :
2009-01-31 00:26:51
By :
Nammont
AjaxPHPRegister1.php
<?php
/*** By Weerachai Nukitram ***/
/*** http://www.ThaiCreate.Com ***/
?>
<html>
<head>
<title>ThaiCreate.Com Ajax Tutorial</title>
</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 = 'AjaxPHPRegister2.php';
var pmeters = "tUsername=" + encodeURI( document.getElementById("txtUsername").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 = "..";
}
if(HttPRequest.readyState == 4) // Return Request
{
if(HttPRequest.responseText == 'Y')
{
window.location = 'AjaxPHPRegister3.php';
}
else
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
}
}
}
}
</script>
<body>
<h1>Register Form</h1>
<form name="frmMain">
<table width="274" border="1">
<tr>
<th width="117">
<div align="left">Username</div></th>
<th><div align="left">
<input type="text" name="txtUsername" id="txtUsername" size="20" OnChange="JavaScript:doCallAjax();">
<span id="mySpan"></span></div></th>
</tr>
<tr>
<th width="117">
<div align="left">Password</div></th>
<th><div align="left">
<input type="password" name="txtPassword" id="txtPassword" size="20">
</div></th>
</tr>
<tr>
<th width="117">
<div align="left">Name</div></th>
<th><div align="left">
<input type="text" name="txtName" id="txtName" size="20">
</div></th>
</tr>
<tr>
<th width="117">
<div align="left">Email</div></th>
<th width="236"><div align="left">
<input type="text" name="txtEmail" id="txtEmail" size="20">
</div></th>
</tr>
</table>
<br>
<input name="btnRegister" type="button" id="btnRegister" value="Register">
</form>
</body>
</html>
AjaxPHPRegister2.php
<?php
/*** By Weerachai Nukitram ***/
/*** http://www.ThaiCreate.Com ***/
$strUsername = trim($_POST["tUsername"]);
if(trim($strUsername) == "")
{
echo "<img src='img/false.png'>";
exit();
}
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
//*** Check Username (already exists) ***//
$strSQL = "SELECT * FROM account WHERE Username = '".$strUsername."' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysql_fetch_array($objQuery);
if($objResult)
{
echo "<img src='img/false.png'>";
}
else
{
echo "<img src='img/true.png'>";
}
mysql_close($objConnect);
?>
Screenshot
Ref : Ajax Check Username
Date :
2009-02-02 23:22:49
By :
webmaster
มี code ของฐานข้อมูลOracle มั้ยครับ ผมรบกวนหน่อยครับ
คือที่ให้ดาวโหลดรู้สึกจะเป็นของ MySQL หรือว่ามันใช้ดวยกันได้ครับ
(ถ้าได้ผมต้องเปลี่ยนตัวแปลยังไงครับคือผมพึ่งจะศึกษายังไม่มีความรู้เท่าไรครับ)
ขอรบกวนด้วยครับ
Date :
2009-02-27 12:34:15
By :
zeedboy
คือแบบนี้ครับ จะใช้ AJAX ในการเชื่อมฐานข้อมูลกับ Oracle คับ
เพราะโค๊ดข้างบนมันเป็น MySQL ผมเปลี่ยนตัวแปลไม่เป็นครับพอดีผมพึ่งจะศึกษาครับ
อยากรบกวนพี่ webmaster พอจะมี code AJAX ในการสร้างหน้า Login และเช็ค USERNAME ที่มีอยู่แล้ว ถ้ามีผมอยากขอนำไปศึกษาหน่อยครับพอดีผมกำลังทำโปรเจคจบครับ ตอนนี้กำลังทำหน้าสมัครสมาชิกซึ่งเป็นส่วนหนึ่งของโปรเจคเป็นเว็บแอพพลิเคชั่นคับผม
Date :
2009-02-27 15:40:20
By :
zeedboy
คือผมลองหามาแล้วก็เจอแต่ AJAX เชื่อมฐานข้อมูลผ่าน MySQL
ไม่เจอัวอย่างที่เชื่อมฐานข้อมูลกับ Oracle เลยคับ(ที่มหาลัยเขาบังคับให้ใช้ Oracle)
ผมเลยเหลือที่พึ่งจากเว็บไทยๆ ของคนไทย ก็คือเว็บนี่แหละคับเพราะผมได้ความรู้อย่างอื่นไปปรับใช้แล้วเยอะเลยครับ
ตอนนี้เหลือแค่ระบบ Loginเชื่อม AJAX กับ Oracle
ปล.ขอบคุณที่ช่วยตอบคำถามนะครับผม มันมีประโยชน์กับผมมากๆ เลยคับ ขอบคุณมากๆ เลยคับ
Date :
2009-02-27 16:04:51
By :
zeedboy
ดูในส่วนของ PHP & MySQL แล้วปรับแต่งนิด ๆ หน่อยก็ได้แล้วครับ
Date :
2009-02-28 00:06:00
By :
webmaster
ขอบคุณนะคับที่พี่ช่วยตอบคำถามของผม
แต่ผมพึ่งเริ่มเรียนอ่ะคับยังไม่ค่อยมีความรู้เท่าไรเลย เลยยากนิดหน่อยไม่ค่อยมีความรู้เรื่องเอาไปปรับตัวแปร เท่าที่ลองดูโครงสร้าง รันไม่ผ่านซะที เฮ้อ.. :]
พี่พอมีตัวอย่างหรือเว็บตัวอย่างบ้างไหมคับที่เขามีให้โหลด code ไปศึกษาที่เป็น Oracle เชื่อมฐานข้อมูลกับ AJAX ในฟอร์มสมัครสมาชิกครับผม
Date :
2009-02-28 23:03:46
By :
zeedboy
หมายถึงไฟล์ AjaxPHPRegister2.php ในตัวอย่างที่พี่ให้มาครับผม
Date :
2009-03-01 01:37:12
By :
zeedboy
อยากได้โค๊ด การเช็ค Username ว่าซ้ำกันหรือเปล่า
และ Password กับ rePassword ตรงกันหรือเปล่า
ภาษา ASP ใช้ Database (windows) SQL
txtUser, txtPass,txtrePAss
Date :
2009-04-02 13:17:01
By :
bell
ได้ความรู้มากเลยครับ
Date :
2009-04-02 13:27:22
By :
heathonbass
เอาไปใช้กับ mssql ใช้ได้เลยค่ะ ขอบคุณมากๆ
แต่ตรง ajax2.php ให้เพิ่ม
header("Content-Type:text/plain;charset=TIS-620");
ไว้บรรทัดบนสุด จะทำให้แสดงภาษาไทยได้
Date :
2009-08-15 11:08:56
By :
nimporn
อยากถามนิดนึ่งครับ
ที่คุณ MR.WIN อัพไว้ให้อ่ะครับ [ความคิดที่ 4 อ่ะครับ]
ถ้าผมต้องการเช็คภาษาไทยด้วยต้องแก้ตรงไหนครับ เพราะมันบอกว่าค่าไม่ซ้ำเลยครับ
Date :
2010-12-03 11:02:23
By :
tongmew02
รบกวนถามหน่อยค่ะ
อยากทราบว่าถ้าเราจะเช็คอีกตัวแปรหนึ่งต้องทำยังไง
เช่น เช็คอีเมลไม่ให้ซ้ำด้วยค่ะ
Date :
2010-12-15 17:02:36
By :
auai13
ขอบคุณมากครับ ผมทำตาม mr.win
Date :
2011-10-16 19:00:50
By :
a
ขอบคุณมากครับ ผมทำตาม mr.win
Date :
2011-10-16 19:01:40
By :
a
MR.win ครับ Register3.php นี่มันคืออะไรหรอครับ ในAjaxPhpRegister1.php อ่ะครับ
Date :
2011-11-23 13:25:13
By :
ToRo
Load balance : Server 04