Heim >Backend-Entwicklung >PHP-Tutorial >jquery - (细节错误求教)PHP+AJAX交互判断用户名是否存在
<code>html代码输入框:<input type="text" class="form-control" name="username" id="username" placeholder="请输入用户名" required autofocus="on" onblur="chkname();"> js检测(仅列出jquery判断用户名的代码): $(document).ready(function(){ //判断用户名是否已经注册了 $('#username').blur(function() { if ($('#username').val() != '') { $.post('chkname.php', {username : $('#username').val()}, function(data) { if (data == 0) { $('#notice1').html('抱歉,该用户名已经被占用!').css('color', 'red'); } else { $('#notice1').html('该用户名可以被注册!').css('color', '#00FFEC'); } }); } }); //验证邮箱密码等信息 $('#submit').click(function(){ //验证邮箱的格式和信息 if($('#username').val()=='') { $('#notice1').html("用户名不能为空!").css('color','red'); return false; } )}; php端代码:chkname.php(根据后台其他功能显示判定smarty模板已经生效,且数据库连接正确) <?php session_start(); header("Content-type:text/html;charset=utf-8"); require_once("system/system.inc.php"); if (isset($_POST['username'])) { $sql="select * from admin_users where username=$_POST['username']"; $re=mysql_query($sql); if (is_array($re)) { echo 0; //用户不合法 exit; } if ($re == 0) { echo 1; //用户合法 exit; } } SQL端:数据库名db_smartytest 其中一表admin_users,(user_id,user_name,user_pass)user_name中存了一个数据ceshi 检测时在用户名中输入ceshi没有起到PHP+AJAX交互判断用户名是否存在的功能,检查两遍不知错误出现 在哪里,希望高手帮忙看看,谢谢 </code></code>
<code>html代码输入框:<input type="text" class="form-control" name="username" id="username" placeholder="请输入用户名" required autofocus="on" onblur="chkname();"> js检测(仅列出jquery判断用户名的代码): $(document).ready(function(){ //判断用户名是否已经注册了 $('#username').blur(function() { if ($('#username').val() != '') { $.post('chkname.php', {username : $('#username').val()}, function(data) { if (data == 0) { $('#notice1').html('抱歉,该用户名已经被占用!').css('color', 'red'); } else { $('#notice1').html('该用户名可以被注册!').css('color', '#00FFEC'); } }); } }); //验证邮箱密码等信息 $('#submit').click(function(){ //验证邮箱的格式和信息 if($('#username').val()=='') { $('#notice1').html("用户名不能为空!").css('color','red'); return false; } )}; php端代码:chkname.php(根据后台其他功能显示判定smarty模板已经生效,且数据库连接正确) <?php session_start(); header("Content-type:text/html;charset=utf-8"); require_once("system/system.inc.php"); if (isset($_POST['username'])) { $sql="select * from admin_users where username=$_POST['username']"; $re=mysql_query($sql); if (is_array($re)) { echo 0; //用户不合法 exit; } if ($re == 0) { echo 1; //用户合法 exit; } } SQL端:数据库名db_smartytest 其中一表admin_users,(user_id,user_name,user_pass)user_name中存了一个数据ceshi 检测时在用户名中输入ceshi没有起到PHP+AJAX交互判断用户名是否存在的功能,检查两遍不知错误出现 在哪里,希望高手帮忙看看,谢谢 </code></code>
<code>php</code><code> //建议使用pdo $sql="select * from admin_users where username='".$_POST['username']."'"; $re=mysql_query($sql); if (mysql_num_rows($re) == 0) { echo 1; //用户合法 exit; } esle { echo 0; //用户不合法 exit; } </code>