PDA

View Full Version : سوال: این کد ساده ای اجکس چرا درست کار نمی کند؟ ایا مشکل در کد های php ان است؟



mokhtasatxyz
چهارشنبه 28 مرداد 1394, 18:09 عصر
سلام
ببخشید شاید بگویید جای این سوال در این بخش نیست
در حال یادگیری ای جکس هستم و کاملا مبتدی.
لطفا بگویید چرا کد زیر کار نمی کند:


<script>

///////////////////////////////////////////////////
// دستورات ثابت در ajax:
function GetXmlHttpObject()
{ var xmlHttp=null;
try{
xmlHttp=new XMLHttpRequest();
}
catch (e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

///////////////////////////////////////


function check()
{ xmlHttp=GetXmlHttpObject();
if(xmlHttp==null)
{ alert ("Browser does not support HTTP Request");
return;
}
url='eee.php?user='+document.getElementById('idd') .value;
xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null);
return false;
}


////////////////////////////////////////////////


function stateChanged()
{
if (xmlHttp.readyState==4)
{
if (xmlHttp.responseText==1)
{
document.getElementById("rrr").style.color="#f00";
}
else
{
document.getElementById("rrr").style.color="#ff0";
}
}
}
</script>
<input type="text" id="idd" onkeypress="check();" />
<div id="rrr" >
set
</div>






<?php
$con=mysql_connect('localhost','root','');
$db=mysql_select_db('a',$con);
$sql="SELECT * FROM tx WHERE tx =".$_GET['user'];
$r=mysql_query($sql);
$result=mysql_num_rows($r);
echo( $result);
?>


توضیحات:

دیده اید در سایت ها بخصوص انجمن ها و در فرم ثبت نام ، فیلد نام کاربری با وارد شدن کاراکتر به سرعت معتبر بودن و تکراری نبودن ان برسی شده
می دانم که با ای جکس است
می خواهم چنین چیزی را درست کنم
ممنون

hamedarian2009
چهارشنبه 28 مرداد 1394, 19:20 عصر
سلام کد ای جکس شما نباید مشکلی داشته باشه یکبار صفحه PHP رو مستقیما اجرا کنید شاید در دادن مقادیر دیتابیس اشتباه کرده اید
البته پیشنهاد میکنم برای ای جکس از جی کوئری استفاده کنید تا نیاز نباشد اینهمه کد بنویسید

این یک مثال بهتر با ای جکس :


<script type="text/javascript">
function loadXMLDoc() {
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("result").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", 'data.php', true);
xmlhttp.send();
}
</script>

<button onclick="loadXMLDoc();">Request Data</button>
<div id="result"></div>


یک فایل به نام data.php ایجاد و داخلش یه چیزی رو echo کنید. در ضمن تگ script رو بهتره داخل قسمت head سند HTML خودتان قرار دهید.