ldb358 Posted June 26, 2009 Share Posted June 26, 2009 hi i am working on a very basic ajax script but for some reason its not working the script is simply put check if a username is a available so that the user doesn't have to submit the whole form to know is the username is available heres the html script: <html> <head> <link href='smartform.css' type='text/css' rel='stylesheet'/> <script src='smartform.js' type='text/javascript'></script> </head> <body> <form> username:<input type='text' id='username' onchange='checkUsername()'/><div id="cUsername"></div><br/> password:<input type='text' id='password'/><br/> confirm password:<input type='text' id='vPassword'/><br/> first name:<input type='text' id='fName'/><br/> last name:<input type='text' id='lName'/><br/> email:<input type='text' id='email'/><br/> <input type='submit' value='register' /> </form> </body> </html> now the javascript file: var xmlhttp = newHttpObject(); function checkUsername(){ var username = document.getElementById("username").value; var div1 = document.getElementById("cUsername"); sendUsername(username); if(xmlhttp == null){ div1.innerHTML = ""; } } function sendUsername(username){ var url = "http://lbflash.summerhost.info/smartform.php?username=" + username; var type = "GET"; xmlhttp.open(type,url,true); xmlhttp.onreadystatechange = response; xmlhttp.send(null); } function response(){ if(xmlhttp.readyState == 4){ if(xmlhttp.responseText > "0"){ div1.innerHTML = "<img src='x.png' style='margin-left:5px;margin-right:5px;'/>taken"; }else if(xmlhttp.responseText == "0"){ div1.innerHTML = "<img src='checkmark.png' style='margin-left:5px;margin-right:5px;'/>not taken"; } } } function newHttpObject(){ if (window.XMLHttpRequest){ return new XMLHttpRequest(); } if (window.ActiveXObject){ return new ActiveXObject("Microsoft.XMLHTTP"); }else{ return null; } } now the php file: <?php include('db.php'); $username = $_REQUEST['username']; $check = mysql_query("SELECT * FROM users WHERE username='$username'"); $results = mysql_num_rows($check); echo $results; ?> whats wrong? Thanks in advanced Link to comment https://forums.phpfreaks.com/topic/163794-basic-problem-im-sure/ Share on other sites More sharing options...
xtopolis Posted June 27, 2009 Share Posted June 27, 2009 Where does it stop? What is the error / not working part? At a glance, a problem might arise: if(xmlhttp.responseText > "0"){ at that line. You may want to convert the responseText to an integer, and then use > 0 rather than > "0"; Be more specific about what part doesn't work in order to save us time. $username = $_REQUEST['username']; Also you may want to sanitize your inputs (mysql_esape_real_string) Link to comment https://forums.phpfreaks.com/topic/163794-basic-problem-im-sure/#findComment-864430 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.