ช่วยที่คะ พอดีไม่มีความชำนาญด้านนี้ ผู้รู้มาช่วยที T^T
Code (JavaScript)
alert(result);
มันได้ค่าอะไรครับ
Date :
2015-05-22 09:25:59
By :
mr.win
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\project\check_username.php on line 25
Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\project\check_username.php on line 8
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\project\check_username.php on line 9
[]
เเจ้งมาแบบนี้อ่ะคะ
Code (PHP)
<?
header('Content-Type: text/html; charset=utf-8');
################# Class ในการแปลงเป็น json
class mysql2json{
public static function getJSON($resultSet){
$resultArray=array();
$intNumField=mysql_num_fields($resultSet);
while($obResult = mysql_fetch_array($resultSet))
{
$arrCol = array();
for($i=0;$i<$intNumField;$i++)
{
$arrCol[mysql_field_name($resultSet,$i)] = $obResult[$i];
}
array_push($resultArray,$arrCol);
}
return json_encode($resultArray);
}
}
$objConnect = mysql_connect("localhost","root","1234") or die(mysql_error());
$objDB = mysql_select_db("gm_db");
$strSQL = "SELECT * FROM users WHERE username = '".$_POST["sCusID"]."' OR user_mail = '".$_POST["eMail"]."' ";
$objQuery = mysql_query($strSQL) or die (mysql_error());
$num = mysql_num_rows($result);
$jason = mysql2json::getJSON($result);
echo $jason;
?>
ส่วนอันนี้เป็นไฟล์ check_username.php รบกวนช่วยดูทีนะคะ
Date :
2015-05-23 04:03:52
By :
ahging
24.$objQuery = mysql_query($strSQL) or die (mysql_error());
25.$num = mysql_num_rows($result );
26.$jason = mysql2json::getJSON($result );
สีแดงต้องชื่อเดียวกันครับ
ปล. ปรับปรุงแก้ไข class นิดหน่อย เป็นแบบนี้ข้างล่างครับ ของเดิมก็ใช้ได้แต่ผมคิดว่าข้างล่าง เร็วกว่าครับ
Code (PHP)
class mysql2json{
public static function getJSON($resultSet){
$resultArray=array();
while($ro = mysql_fetch_assoc($resultSet)){
array_push($resultArray,$ro);
}
return json_encode($resultArray);
}
}
ประวัติการแก้ไข 2015-05-23 08:23:12 2015-05-23 08:24:35
Date :
2015-05-23 08:18:38
By :
Chaidhanan
ก็อบ มาแต่ไม่ดูให้ละเอียดๆ
แนะนำ เราควรดูตัวแปรว่าเหมือนกันหรือป่าว ก่อนนะครับ
Date :
2015-05-23 10:08:26
By :
compiak
ยังติดปัญหาอยู่คะ
ลองใช้ <?ob_start();?> เเล้วก็ยังไม่ทำงาน
Warning: Cannot modify header information - headers already sent by (output started at D:\AppServ\www\project\check_username.php:2) in D:\AppServ\www\project\check_username.php on line 3
ไฟล์ check_username.php
Code (PHP)
<?
header('Content-Type: text/html; charset=utf-8');
####################################### Class ในการแปลงเป็น json
class mysql2json{
public static function getJSON($resultSet){
$resultArray=array();
while($ro = mysql_fetch_assoc($resultSet)){
array_push($resultArray,$ro);
}
return json_encode($resultArray);
}
}
$objConnect = mysql_connect("localhost","root","1234") or die(mysql_error());
$objDB = mysql_select_db("gm_db");
$strSQL = "SELECT * FROM users WHERE username = '".$_POST["sCusID"]."' OR user_mail = '".$_POST["eMail"]."' ";
$objQuery = mysql_query($strSQL) or die (mysql_error());
$num = mysql_num_rows($objQuery);
$jason = mysql2json::getJSON($objQuery);
echo $jason;
?>
อันนี้ลองช่วยดูทีว่าถูกยังคะ
Code (PHP)
<script type="text/javascript">
$(document).ready(function(){
$("#username2,#user_mail").change(function(){
$("#sCusID").empty();
$("#sEmail").empty();
$.ajax({
url: "check_username.php" ,
type: "POST",
data: {'sCusID':$("#username2").val(),'eMail':$("#user_mail").val()}
})
.success(function(result) {
alert(result);
var obj = jQuery.parseJSON(result);
if(obj != '')
{
$.each(obj, function(key, inval) {
if($("#username2").val() == inval["usename"])
{
$("#sCusID").html(" <font color='red'>รหัสลูกค้านี้มีอยู่แล้ว</font>");
}
if($("#user_mail").val() == inval["user_mail"])
{
$("#sEmail").html(" <font color='red'>อีเมล์นี้มีอยู่แล้ว</font>");
}
});
}
});
});
});
</script>
ประวัติการแก้ไข 2015-05-23 20:59:27
Date :
2015-05-23 16:25:41
By :
ahging
check_username.php line 3 ลบไปเลยครับ ไม่ต้องใช้
จะทำให้ข้อมูลเพี้ยนไปซะเปล่าๆ
มาเซท utf8 บันทัดนี้ดีกว่าครับ
15.$objDB = mysql_select_db("gm_db");
mysql_query( 'set name utf8');
Date :
2015-05-23 23:23:10
By :
Chaidhanan
ควรมีเครื่องมือในการตรวจสอบ javascript ครับ
แนะนำติดตั้ง firefox แล้วลง extenison addon "Fire Bug"
เวลาเรารันโปรแกรม สามารถตรวจสอบได้ว่า เราส่งอะไรออกไปใน Ajax
และรับอะไรเข้ามา โดยไม่ต้องเขียนโปรแกรม alert ให้ยุ่งยากและขัดจังหวะ event ต่างๆ ของโปรแกรม
แต่ตอนนี้อาจจะยังไม่ได้ลงก็คงต้องทำ echo ออกมาเพื่อตรวจสอบกันที่ละขั้นตอน พอทำผ่าน ก็ให้ลบบันทัดที่ผ่านออกไป
14.$objConnect = mysql_connect("localhost","root","1234") or die(mysql_error());
15.$objDB = mysql_select_db("gm_db");
//16.$strSQL = "SELECT * FROM users WHERE username = '".$_POST["sCusID"]."' OR user_mail = '".$_POST["eMail"]."' ";
$strSQL = "SELECT * FROM users WHERE username = '".$_REQUEST["sCusID"]."' OR user_mail = '".$_REQUEST["eMail"]."' ";
17.$objQuery = mysql_query($strSQL) or die (mysql_error());
18.$num = mysql_num_rows($objQuery);
19.$jason = mysql2json::getJSON($objQuery);
20.echo $jason;
บันทัดที่ 16 เปลี่ยน POST เป็น REQUEST เพื่อสามารถใส่ค่า GET จาก browser ได้โดยตรง
เพื่อให้แน่ใจ่ว่า โปรแกรม check_username.php ส่งค่าออกมาถูกต้อง
แล้วทดสอบเรียก จาก Browser โดยพิมพ์ บันทัดล่าง (เปลี่ยนชื่อ email ด้วยนะครับ) ที่ url link บน browser
http://localhost/check_username.php?sCusID=ทดสอบusername&[email protected]
Date :
2015-05-24 07:47:23
By :
Chaidhanan
<? => <?php
เรื่องแบบนี้เมื่อไหร่จะเลิกผิดกันสักทีนะ
Date :
2015-05-24 10:59:53
By :
mr.v
Load balance : Server 00