开发者社区> 问答> 正文

PHP+AJAX交互判断用户名是否存在

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交互判断用户名是否存在的功能,检查两遍不知错误出现 在哪里,希望高手帮忙看看,谢谢

展开
收起
小旋风柴进 2016-03-26 11:37:35 2903 0
1 条回答
写回答
取消 提交回答
  •  //建议使用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;
    }
    2019-07-17 19:15:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载