โค้ดทั้งหมดนี้อยู่ในหน้าเดียวกันทีืชื่อ "Register_PP.php" ครับ
โค้ดตามนี้ อันนี้เป็น jquery ไว้เช็ค username ว่า available or not
คือมันได้คำตอบเป็น undefine is not available ตลอดเลยครับ พอลองตั้ง else เป็น else if result == 0 กับ 1 สองอัน มันก็ขึ้น checking ตลอดเลย
<body>
<script type="text/javascript">
$(document).ready(function() {
//the min chars for username
var min_chars = 3;
//result texts
var characters_error = 'Minimum amount of chars is 3';
var checking_html = 'Checking...';
//when typing in txtUser [Username textbox]
$('#txtUser').keyup(function(){
//run the character number check
if($('#txtUser').val().length < min_chars){
//if it's bellow the minimum show characters_error text '
$('#user_result').html(characters_error);
}else{
//else show the cheking_text and run the function to check
$('#user_result').html(checking_html);
check_availability();
}
});
});
//function to check username availability
function check_availability(){
//get the username
var username = $('#username').val();
//use ajax to run the check
$.post("Register_PP.php", { username: username },
function(result){
//if the result is 1
if(result == 1){
//show that the username is available
$('#user_result').html(username + ' is Available');
}else{
//show that the username is NOT available
$('#user_result').html(username + ' is not Available');
}
});
}
</script>
<td align="right">Username:</td>
<td align="left"><input type="text" id="txtUser" name="txtUser" title="Symbol is allowed" autocomplete="off"
value="<?php echo $user?>" maxlength="20"/> <div id='user_result'></div> </td>
<?php
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("accommodation");
//get the username
$username = mysql_real_escape_string($_POST['txtUser']);
//mysql query to select field username if it's equal to the username that we check '
$result = mysql_fetch_array(mysql_query('SELECT * FROM member WHERE m_user = "'. $username .'"'));
//if username found
if($username == $result['m_user']){
//and we send 0 to the ajax request
echo 0;
}else{
//else if username not found'
//and we send 1 to the ajax request
echo 1;
}
?>
1. var username = $('#username').val(); // ที่มัน undefine เพราะคุณไม่ได้กำหนดมัน เพราะใน id textbox คุณเป็น txtUser มันจึงไม่รู้จัก username
2. ผมแนะนำให้แยก code PHP
<?php
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("accommodation");
//get the username
$username = mysql_real_escape_string($_POST['txtUser']);
//mysql query to select field username if it's equal to the username that we check '
$result = mysql_fetch_array(mysql_query('SELECT * FROM member WHERE m_user = "'. $username .'"'));
//if username found
if($username == $result['m_user']){
//and we send 0 to the ajax request
echo 0;
}else{
//else if username not found'
//and we send 1 to the ajax request
echo 1;
}
?>
เพราะที่ผมลองเอา code คุณไป test ดูมันมีปัญหาหากไว้ไฟล์เดียวกัน หวังว่าคำแนะนำนี้คงเป็นประโยชน์นะครับ
ไปอีกหน้านึงเพราะ