javascript - 使用 Javascript 运行 php 脚本来检查用户名

标签 javascript php jquery html

我一直在尝试为我正在构建的网站构建注册表单。我可以完成基础操作,但我希望它检查用户名可用性而不重新加载页面。

JavaScript

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script>
    $(document).ready(function()
    {
        $("#Username").focusout(function()
        {
            //Check if usernane if available
            var username = $("#Username").val();
            $.post("scripts/check_username.php", {username:  username}, function(data)
            {
                if(data == 'false')
                {
                    alert('Username not available');
                    $("#Username").setCustomValidity("This username is already taken!");
                }
                else
                {
                    alert('Username available');
                }
            });
            return false;
        });
    });
</script>

HTML

<form id="registerForm">
                <table>
                    <tr><td>Username</td><td><input id="Username" class='textInput' type='text' name='username' required></td></tr>

PHP 脚本

<?php
include 'open_connection.php';
$result = 'true';
$username = mysql_real_escape_string($_POST['username']);

$result = mysql_query("SELECT * FROM tblMembers WHERE Username='$username'");
while($row = mysql_fetch_array($result))
{
    $result = 'false';
}
echo $result;
?>

当我离开文本框时,它显示用户名无论如何都可用。我在数据库中放置了一个用户名“test”...没有运气

请帮忙

最佳答案

PHP:

$output = 'true';
$username = mysql_real_escape_string($_POST['username']);
$result = mysql_query("SELECT * FROM tblMembers WHERE Username='$username'");
while($row = mysql_fetch_array($result))
{
    $output = 'false';
}
echo $output;

Ans 脚本:

<script>
$(document).ready(function()
{
    $("#Username").focusout(function()
    {
        //Check if usernane if available
        $.post("scripts/check_username.php", {username:  $("#Username").val()}, function(data)
        {

            if(data  =='false')
            {
                    $("#Username").setCustomValidity("This username is already taken!");
                }
                else
                {
                    alert('Username available');
                }
            });
            return false;
        });
    });
</script>

顺便说一句,不要使用 mysql_* 函数,它们已被弃用。使用 Mysqli 或 PDO。接下来的事情是您忘记在语句末尾添加分号!

关于javascript - 使用 Javascript 运行 php 脚本来检查用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19085156/

相关文章:

javascript - 如何在 android 中使用 webview 明智地显示 Html 内容页面?

php - 使用 Symfony 将哪个 MongoDB 库用于独立的 PHP 项目?

javascript - 语法错误 unrecognized expression wrap html tag to string

javascript - jquery 和 bootstrap 之间的冲突

javascript - jQuery UI 中的 datePicker 不工作

jquery - 如何使用 jquery 覆盖 aspx 控件应用的 css?

javascript - 塌边向上开口

javascript - .attr() 方法获取元素属性值的问题

javascript - 从 jmeter 命令行打开并保存 xml 文件

php - 检查用户是否已经存在于drupal中