2013-02-12 52 views
2

即时通讯尝试检查用户的用户名是否已经采取,而不必发送的形式,基本上在用户名字段的Blur。ajax - 检查用户名是否存在+返回邮件,如果它

我有一些麻烦,有几个问题。

我有我的输入字段加JS:

<script src="js/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 

$('#username').on('blur', checkdb); 

function checkdb(){ 
    var desiredUsername = $(this).val(); 
    $.ajaxSetup({ 
     url: "check-db.php", 
     type: "POST", 
    }); 

    $.ajax({ 
     data: 'desiredUsername='+desiredUsername,  
     success: function (msg) { 
      alert (msg);}, 
      error: function (XMLHttpRequest, textStatus, errorThrown){ 
      alert('Error submitting request.'); 
     } 
    });  
}   
}); 
</script> 

<input type="text" name="username" id="username"> 

和我签db.php中的文件:

$mysqli = mysqli_connect("localhost","connection info"); 
if ($mysqli->connect_errno) { 
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; 
} 

$desiredUsername = $_POST['desiredUsername']; 


$stmt = $mysqli->prepare("SELECT * FROM users WHERE username = '?' "); 
$stmt->bind_param('s', $desiredUsername); 
$stmt->execute(); 

首先:变量IM从我的PHP代码得到一个错误,“数不匹配准备语句中的参数数量,这有点困惑了?我有1个变量和1个peramater,不是吗?

然后,一旦这实际上工作,我该如何发送消息/变量回到输入页面?所以如果用户名被采取,我可以这样说,或者如果它的可用性如此说?

谢谢!

+0

得到消息从页后退简单地回响在你的PHP脚本 – Ronnie 2013-02-12 19:33:09

回答

1

在服务器大小,只是echo你想传递给客户端(JavaScript)这样的事情:

echo json_encode($datas); //can be array or whatever 

然后在客户端方:

$.ajax({ 
    method: 'POST', 
    dataType:'json', 
    data: {'username' : desiredUsername}, //then getting $_POST['username'] 
    success: function(datas) { 
     console.log(datas); //Your previous data from the server side 
    }, 
    error: function(XMLHttpRequest, textStatus, errorThrown){  
     console.log(textStatus); 
    } 
}); 
+0

一些成果谢谢你,得到的一切我需要从这个 – rpsep2 2013-02-12 19:55:44

0

尝试

function checkdb(){ 
    var desiredUsername = $(this).val(); 
    $.ajaxSetup({ 
     url: "check-db.php", 
     type: "POST", 
    }); 

    $.ajax({ 
     data: { 
      desiredUsername: desiredUsername 
     }, 
     success: function (msg) { 
      alert(msg); 
     }, 
     error: function (XMLHttpRequest, textStatus, errorThrown){  
      alert('Error submitting request.'); 
     } 
    });  
} 
0

您有一个错误在发送数据时,就发送一个JS对象的数据,这样的:(在你的情况下,PHP)

data: { desiredUsername: desiredUsername }, 
相关问题