Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > php + ajax เช็คชื่อซ้ำ ช่วยดูให้หน่อยค่ะ ใช้ Ajax เช็คชื่อผู้ใช้ว่าซ้ำหรือไม่ เช็คแล้วบันทึกไม่ได้ค่ะ ช่วยดูหน่อยนะค่ะ



 

php + ajax เช็คชื่อซ้ำ ช่วยดูให้หน่อยค่ะ ใช้ Ajax เช็คชื่อผู้ใช้ว่าซ้ำหรือไม่ เช็คแล้วบันทึกไม่ได้ค่ะ ช่วยดูหน่อยนะค่ะ

 



Topic : 040304



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์




ใช้ Ajax เช็คชื่อผู้ใช้ว่าซ้ำหรือไม่

เช็คแล้วบันทึกไม่ได้ค่ะ

ช่วยดูหน่อยนะค่ะ

Code (PHP)
<?php
	mysql_connect('localhost','root','1234') or die(mysql_error());
	mysql_select_db('mis') or die(mysql_error());
		
	if (isset($_GET['user'])){
		$username = mysql_real_escape_string($_POST['username']);
		$r = mysql_query("SELECT 1 FROM tb_user WHERE user_name='$username'");
		echo mysql_num_rows($r)?'yes':'no';
		exit(0);
	}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620" />
<title></title>
<title></title>
<script type="text/javascript" src="jquery-latest.js"></script>
</head>

<body>
<script >
	function check(){
		var txt= "";
	
		if(document.form.username.value==""){
			alert("กรุณากรอกชื่อผู้ดูแลระบบ");
			document.form.username.focus();
			return false; 
		}else if (document.form.username.value.length < 4) { 
			alert("ชื่อในการเข้าใช้ระบบต้องความยาวไม่ต่ำกว่า 4-16 ตัวอักษร");
			document.form.username.focus();
			return false;
		}
		
		if(document.form.pass1.value==""){
			alert("กรุณากรอกรหัสผ่าน");
			document.form.pass1.focus();
			return false; 
		}else if (document.form.pass1.value.length < 4) { 
			alert("รหัสผ่านต้องความยาวไม่ต่ำกว่า 4-16 ตัวอักษร");
			document.form.pass1.value = txt;
			document.form.pass2.value = txt;
			document.form.pass1.focus();
			return false;
		}
		if(document.form.pass2.value=="") { 
			alert("กรุณายืนยันรหัสผ่าน");
			document.form.pass2.focus();
			return false;
		}
		
		if(document.form.pass1.value != document.form.pass2.value) {
			alert("รหัสผ่านไม่ตรงกัน") ;
			document.form.pass1.value = txt;
			document.form.pass2.value = txt;
			document.form.pass1.focus();
			return false ;
		}
		return true;	
	}

$(function(){
	$('#submit').click(function(e){
		var user = $.trim($('#form input[name=username]').val());
			$.ajax({
				url: '?user',
				type: 'POST',
				dataType: 'html',
				data: $('#form').serialize(),
				success: function(data){
					if (data.indexOf('yes') != -1){
						alert("ไม่สามารถใช้ชื่อ '" + user + "' ได้\nกรุณากรอกชื่อผู้ดูแลระบบใหม่");
						document.form.username.focus();
						return false ;
					}else{
						check();	
					}
				}	
			});		

		e.preventDefault();
	
	});	
}); 

</script>

if (!$submit) {
?>
<form name="form" id="form" action="<?php echo $PHP_SELF ; ?>" method="post" onsubmit="return check();" >
<table align="center" width="90%" border="0" cellpadding="2" cellspacing="2" bordercolor="#FF0033">
	<tr>
		<td align="right" width="20%"><font size="2">&nbsp;ชื่อผู้ดูแลระบบ :</font></td>
		<td >&nbsp;<input type="text" name="username" id="username" size="30" maxlength="16" 
					onKeyDown="if(event.keyCode==13) event.keyCode=9;" 
					onKeyPress="if ((event.keyCode < 65 || event.keyCode > 90)&&(event.keyCode < 97 || event.keyCode > 122)&&(event.keyCode < 48 || event.keyCode > 57)) event.returnValue = false;" style="color:#FF0000" autocomplete="off" /><font size="2" color="#FF0000"> *</font></td>
	</tr>
	<tr>
		<td></td>
		<td><font size="2" color="#FF0000">&nbsp;(เฉพาะตัวอักษร A - Z, a - z, 0-9 ความยาวไม่ต่ำกว่า 4-16 ตัวอักษร)</font></td></tr>
	<tr>
		<td align="right" width="20%"><font size="2">&nbsp;รหัสผ่าน :</font></td>
		<td >&nbsp;<input type="password" name="pass1" id="pass1" size="30" maxlength="16" 
					onKeyDown="if(event.keyCode==13) event.keyCode=9;" 
					onKeyPress="if ((event.keyCode < 65 || event.keyCode > 90)&&(event.keyCode < 97 || event.keyCode > 122)&&(event.keyCode < 48 || event.keyCode > 57)) event.returnValue = false;"  /><font size="2" color="#FF0000"> *</font></td>
	</tr>
	<tr>
		<td></td>
		<td><font size="2" color="#FF0000">&nbsp;(เฉพาะตัวอักษร A - Z, a - z, 0-9 ความยาวไม่ต่ำกว่า 4-16 ตัวอักษร)</font></td>
	</tr>
	<tr>
		<td align="right" width="20%"><font size="2">&nbsp;ยืนยันรหัสผ่าน :</font></td>
		<td >&nbsp;<input type="password" name="pass2" id="pass2" size="30" maxlength="16" 
					onKeyDown="if(event.keyCode==13) event.keyCode=9;" 
					onKeyPress="if ((event.keyCode < 65 || event.keyCode > 90)&&(event.keyCode < 97 || event.keyCode > 122)&&(event.keyCode < 48 || event.keyCode > 57)) event.returnValue = false;"  /><font size="2" color="#FF0000"> *</font></td>
	</tr>
	<tr>
		<td></td>
		<td>&nbsp;<input type="submit" name="submit" id="submit" value=" บันทึก " />&nbsp;<input type="reset" value=" ยกเลิก " /></td>
	</tr>	
</table>
</form>

<?php
}else{
	include ("config-db.php");
	$username = $_POST['username'];
	$pass1 = $_POST['pass1'];
	$pass2 = $_POST['pass2'];
	
	$sql = "select max(user_id) from tb_user";
	$result = mysql_query($sql);
	$r = mysql_fetch_array($result);
	$id_max=$r[0]+1;
	$auto_id = str_pad($id_max, 5, "0", STR_PAD_LEFT);
		
	$sql_user = "INSERT INTO `tb_user` (`user_id`, `user_name`, `password`, `user_type`) VALUES ('$auto_id', '$username', '$pass1', '1') " ;
	$result = mysql_query($sql_user) ;
	if(!$result){
		echo"<script> alert('ไม่สามารถเพิ่มข้อมูลได้');</script>";
	?>
		<SCRIPT LANGUAGE="JavaScript">	
			setTimeout("history.back();", 0.0);
		</SCRIPT>
	<?php   exit();   } 
			
	echo"<script> alert('เพิ่มข้อมูลเรียบร้อยแล้ว');</script>";
	?>
		<SCRIPT LANGUAGE="JavaScript">	
			setTimeout("history.back();", 0.0);
		</SCRIPT>
	<?php   exit();   }
?>
</body>
</html>





Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-03-14 10:07:20 By : mamozaa View : 3755 Reply : 10
 

 

No. 1



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่มีใครตอบเลยหรอค่ะ TOT

ผู้รู้ช่วยตอบหน่อยค่ะ

งานด่วนจริง ๆ






Date : 2010-03-14 11:44:06 By : mamozaa
 


 

No. 2



โพสกระทู้ ( 1,439 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ให้สร้างไฟล์เช็คใหม่ ไว้ต่างหากครับ

check_user.php
Code (PHP)
<?php
	mysql_connect('localhost','root','1234') or die(mysql_error());
	mysql_select_db('mis') or die(mysql_error());
		
	if (isset($_POST['user'])){ 
		$username = mysql_real_escape_string($_POST['username']);
		$r = mysql_query("SELECT 1 FROM tb_user WHERE user_name='$username'");
		echo mysql_num_rows($r)?'yes':'no';
		exit(0);
	}
?>


เปลี่ยน url ใน jquery
url: '?user', เปลี่ยนเป็น url:'check_user.php',
Date : 2010-03-14 12:06:29 By : xbeginner01
 

 

No. 3



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ทำตามที่ คุณ xbeginner01 บอกแล้วค่ะ

แต่ก็ยังไม่ได้

คราวนี้ไม่เข้าไปเช็คค่า username ซ้ำเลยค่ะ
Date : 2010-03-14 12:23:22 By : mamozaa
 


 

No. 4

Guest


ลอง echo ข้อมูลที่ส่งมาว่ามาถึง page นี้หรือป่าว ไม่งั้นก็ลอง print_r($_POST); ดูครับ

แล้วก็ลองเซ็คทีละอย่าง ครับ
Date : 2010-03-14 18:17:29 By : w33nz3z@r
 


 

No. 5

Guest


<?php
	mysql_connect('localhost','root','1234') or die(mysql_error());
	mysql_select_db('mis') or die(mysql_error());

	if (isset($_GET['user'])){
		$username = mysql_real_escape_string($_POST['username']);
		$r = mysql_query("SELECT 1 FROM tb_user WHERE user_name='$username'");
		echo mysql_num_rows($r)?'yes':'no';
		exit(0);
	}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620" />
<title></title>
<script type="text/javascript" src="jquery-latest.js"></script>
</head>

<body>
<script >
	function check(){
		var txt= "";

		if(document.form.username.value==""){
			alert("กรุณากรอกชื่อผู้ดูแลระบบ");
			document.form.username.focus();
			return false;
		}else if (document.form.username.value.length < 4) {
			alert("ชื่อในการเข้าใช้ระบบต้องความยาวไม่ต่ำกว่า 4-16 ตัวอักษร");
			document.form.username.focus();
			return false;
		}

		if(document.form.pass1.value==""){
			alert("กรุณากรอกรหัสผ่าน");
			document.form.pass1.focus();
			return false;
		}else if (document.form.pass1.value.length < 4) {
			alert("รหัสผ่านต้องความยาวไม่ต่ำกว่า 4-16 ตัวอักษร");
			document.form.pass1.value = txt;
			document.form.pass2.value = txt;
			document.form.pass1.focus();
			return false;
		}
		if(document.form.pass2.value=="") {
			alert("กรุณายืนยันรหัสผ่าน");
			document.form.pass2.focus();
			return false;
		}

		if(document.form.pass1.value != document.form.pass2.value) {
			alert("รหัสผ่านไม่ตรงกัน") ;
			document.form.pass1.value = txt;
			document.form.pass2.value = txt;
			document.form.pass1.focus();
			return false ;
		}
		return true;
	}

$(function(){
	$('#form').submit(function(e){
		var user = $.trim($('#form input[name=username]').val());
                var user_exists = $.ajax({
                        url: '?user',
                        type: 'POST',
                        dataType: 'html',
                        data: $('#form').serialize(),
                        async: false
                }).responseText;
                if (user_exists.indexOf('yes') != -1){
                        alert("ไม่สามารถใช้ชื่อ '" + user + "' ได้\nกรุณากรอกชื่อผู้ดูแลระบบใหม่");
                        document.form.username.focus();
                        return false ;
                }else{
                        return check() ;
                }                
	});
});

</script>

if (!$submit) {
?>
<form name="form" id="form" action="<?php echo $PHP_SELF ; ?>" method="post">
<table align="center" width="90%" border="0" cellpadding="2" cellspacing="2" bordercolor="#FF0033">
	<tr>
		<td align="right" width="20%"><font size="2">&nbsp;ชื่อผู้ดูแลระบบ :</font></td>
		<td >&nbsp;<input type="text" name="username" id="username" size="30" maxlength="16"
					onKeyDown="if(event.keyCode==13) event.keyCode=9;"
					onKeyPress="if ((event.keyCode < 65 || event.keyCode > 90)&&(event.keyCode < 97 || event.keyCode > 122)&&(event.keyCode < 48 || event.keyCode > 57)) event.returnValue = false;" style="color:#FF0000" autocomplete="off" /><font size="2" color="#FF0000"> *</font></td>
	</tr>
	<tr>
		<td></td>
		<td><font size="2" color="#FF0000">&nbsp;(เฉพาะตัวอักษร A - Z, a - z, 0-9 ความยาวไม่ต่ำกว่า 4-16 ตัวอักษร)</font></td></tr>
	<tr>
		<td align="right" width="20%"><font size="2">&nbsp;รหัสผ่าน :</font></td>
		<td >&nbsp;<input type="password" name="pass1" id="pass1" size="30" maxlength="16"
					onKeyDown="if(event.keyCode==13) event.keyCode=9;"
					onKeyPress="if ((event.keyCode < 65 || event.keyCode > 90)&&(event.keyCode < 97 || event.keyCode > 122)&&(event.keyCode < 48 || event.keyCode > 57)) event.returnValue = false;"  /><font size="2" color="#FF0000"> *</font></td>
	</tr>
	<tr>
		<td></td>
		<td><font size="2" color="#FF0000">&nbsp;(เฉพาะตัวอักษร A - Z, a - z, 0-9 ความยาวไม่ต่ำกว่า 4-16 ตัวอักษร)</font></td>
	</tr>
	<tr>
		<td align="right" width="20%"><font size="2">&nbsp;ยืนยันรหัสผ่าน :</font></td>
		<td >&nbsp;<input type="password" name="pass2" id="pass2" size="30" maxlength="16"
					onKeyDown="if(event.keyCode==13) event.keyCode=9;"
					onKeyPress="if ((event.keyCode < 65 || event.keyCode > 90)&&(event.keyCode < 97 || event.keyCode > 122)&&(event.keyCode < 48 || event.keyCode > 57)) event.returnValue = false;"  /><font size="2" color="#FF0000"> *</font></td>
	</tr>
	<tr>
		<td></td>
		<td>&nbsp;<input type="submit" name="submit" id="submit" value=" บันทึก " />&nbsp;<input type="reset" value=" ยกเลิก " /></td>
	</tr>
</table>
</form>

<?php
}else{
	include ("config-db.php");
	$username = $_POST['username'];
	$pass1 = $_POST['pass1'];
	$pass2 = $_POST['pass2'];

        //ไม่ควรค้นหาค่า max(user_id) เพื่อกำหนด id เองเพราะอาจเกิดเหตุการ user_id ชนกัน
        //ควรตั้ง user_id เป็น pk แล้ว set auto_increment
	$sql = "select max(user_id) from tb_user";
	$result = mysql_query($sql);
	$r = mysql_fetch_array($result);
	$id_max=$r[0]+1;
	$auto_id = str_pad($id_max, 5, "0", STR_PAD_LEFT);

	$sql_user = "INSERT INTO `tb_user` (`user_id`, `user_name`, `password`, `user_type`) VALUES ('$auto_id', '$username', '$pass1', '1') " ;
	$result = mysql_query($sql_user) ;
	if(!$result){
		echo"<script type="text/javascript"> alert('ไม่สามารถเพิ่มข้อมูลได้');</script>";
                ?>
		<script type="text/javascript">
			setTimeout("history.back();", 0.0);
		</script>
                <?php
                exit();
        }
	echo"<script type="text/javascript"> alert('เพิ่มข้อมูลเรียบร้อยแล้ว');</script>";
	?>
        <script type="text/javascript">
                setTimeout("history.back();", 0.0);
        </script>
        <?php
        exit();
}
?>
</body>
</html>


แก้ให้แล้วครับแต่อาจจะไม่ได้เพราะไม่ได้ทดสอบ ถ้ายังไม่ได้แจ้งมาอีกครับว่างๆ จะแก้ให้
Date : 2010-03-14 20:33:30 By : test
 


 

No. 6



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณนะค่ะ สำหรับทุกคำแนะนำ

โดยเฉพาะ No.5

ทำได้แล้วคร่าาาาา


Date : 2010-03-14 23:15:07 By : mamozaa
 


 

No. 7



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ขอถามต่อจากคราวที่แล้วหน่อยนะค่ะ

ตอนนี้ทำฟอร์มแก้ไขข้อมูลอยู่ค่ะ

แล้วเวลาแก้ไขรหัสผ่านต้องกรอกรหัสผ่านเดิมด้วย

ถ้าจะเช็คว่ารหัสผ่านเดิมถูกต้องตรงตามฐานข้อมูลหรือไม่

ต้องเขียนโค้ดยังไงค่ะ เช่น ถ้าถูกต้องให้แสดงเครื่องหมายถูก



อยากได้โค้ดเหมือนตอนที่เช็ค ชื่อผู้ใช้ น่ะค่ะ

เช็คโดยการ keyup

คล้าย ๆ แบบนี้อ่ะค่ะ

Code (PHP)
<?php
	mysql_connect('localhost','root','1234') or die(mysql_error());
	mysql_select_db('mis') or die(mysql_error());
		
	if (isset($_GET['userExists'])){
		$username = mysql_real_escape_string($_POST['username']);
		$r = mysql_query("SELECT 1 FROM tb_user WHERE user_name='$username'");
		echo mysql_num_rows($r)?'yes':'no';
		exit(0);
	}   
?>  

<body>
<script >
$(function(){
  $('#username').keyup(function(e){
	var user = $.trim($(this).val());
	if (user.length > 0){
		$.ajax({
			url: '?userExists',
			type: 'POST',
			dataType: 'html',
			data: $(this).serialize(),
			success: function(data){
				if (data.indexOf('yes') != -1){
					$('#username-status').html('not ok');
				} else {
                       	              $('#username-status').html('ok');
				}
			}	
		});		
	}		
	e.preventDefault();
  });		
}); 	
</script >


<table align="center" width="90%" border="0" cellpadding="2" cellspacing="2" bordercolor="#FF0033">
	<tr><td align="right" width="20%"><font size="2">&nbsp;ชื่อผู้ดูแลระบบ :</font></td>
	<td >&nbsp;<input type="text" name="username" id="username" size="30" maxlength="16" onKeyDown="if(event.keyCode==13) event.keyCode=9;" onKeyPress="if ((event.keyCode < 65 || event.keyCode > 90)&&(event.keyCode < 97 || event.keyCode > 122)&&(event.keyCode < 48 || event.keyCode > 57)) event.returnValue = false;" style="color:#FF0000" autocomplete="off" /><font size="2" color="#FF0000"> *</font> <span id="username-status"></span></td>
	</tr>
</table>
</body>

Date : 2010-03-26 14:25:24 By : mamozaa
 


 

No. 8



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ใครพอรู้ ช่วยตอบหน่อยเถอะค่ะ
Date : 2010-03-26 15:44:27 By : mamozaa
 


 

No. 9



โพสกระทู้ ( 77 )
บทความ ( 0 )



สถานะออฟไลน์


ผมก็อยากช่วยนะ แต่ว่าแบบนี้ไม่เคยทำน่ะ.....อิอิ
Date : 2010-03-26 15:59:33 By : arta_u
 


 

No. 10



โพสกระทู้ ( 247 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

อธิบาย code หน่อยได้ไหมอ่าครับ อยากเขียนบ้าง


มี function มาอีก งง เป็นไก่ตาแตกเลย T^T
Date : 2010-03-28 08:51:41 By : icman
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : php + ajax เช็คชื่อซ้ำ ช่วยดูให้หน่อยค่ะ ใช้ Ajax เช็คชื่อผู้ใช้ว่าซ้ำหรือไม่ เช็คแล้วบันทึกไม่ได้ค่ะ ช่วยดูหน่อยนะค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่