php - 如何从 PHP 回显接收数据以使用 AJAX 显示?

标签 php javascript jquery html ajax

简单地说:我如何从 PHP 回显接收数据以使用 AJAX 显示?

我有使用JQuery的能力;但是,我不知道这是否适合这份工作。我只有一个 HTML 格式的表单,用户可以在其中输入信息,但是当他们输入数据时,我想检查数据库的可用性。如果输入检查没有问题,我不想显示任何文本,但如果有问题,那么我想显示错误。我目前有一个通过数据库使用 PHP 和 MySQL 的注册表单,但如果不刷新页面,我无法得到要回显的错误。有什么方法可以不刷新就显示错误吗?

HTML:

<form action="index.php" method="POST">
            <table>
                <tr>
                    <td colspan="3"><h1>New to the site?</h1></td>
                </tr>
                <tr>
                    <td><span class="login_text">Username:</span></td>
                    <td><input type="text" class="inputs" name="signup_username" value="<?php echo $username ?>"></td>
                </tr>
                <tr>
                    <td><span class="login_text">Password:</span></td>
                    <td><input type="password" class="inputs" name="signup_password"></td>
                </tr>
                <tr>
                    <td><span class="login_text">Password <span style="color: #666666;">(repeat)</span>:</span></td>
                    <td><input type="password" class="inputs" name="signup_passwordrepeat"></td>
                </tr>
                <tr>
                    <td><span class="login_text">Email:</span></td>
                    <td><input type="text" class="inputs" name="signup_email" value="<?php echo $email ?>"></td>
                </tr>
                <tr>
                    <td colspan="2"><input type="submit" id="signupbutton" class="subutton" style="font-family: Georgia, sans-serif;  font-size: 1.5em;  width: 265px;  height: 3em;" value="Sign Up!" name="signup_button"></td>
                </tr>
            </table>
        </form>

PHP:

<?php
            $submit = $_POST["signup_button"];
            $username = mysql_real_escape_string($_POST["signup_username"]);
            $password = mysql_real_escape_string($_POST["signup_password"]);
            $repeatpassword = mysql_real_escape_string($_POST["signup_passwordrepeat"]);
            $email = mysql_real_escape_string($_POST["signup_email"]);
            $date = date(m.d.y);

            if($submit) {  //If the form is submitted
                if($username && $password && $repeatpassword && $email) {  //If everything is filled out
                    //Check length of username
                    if(strlen($username) <= 16) {
                        $usercheck = mysql_query("SELECT * FROM artists WHERE username='$username'");
                        $usernum = mysql_num_rows($usercheck);

                        if($usernum == 0) {  //Check for availability of username
                            $emailcheck = mysql_query("SELECT * FROM artists WHERE email='$email'");
                            $emailnum = mysql_num_rows($emailcheck);

                            if($emailnum == 0) {  //Check for availability of email address
                                if($password == $repeatpassword) {  //Check for identical password input
                                    //Encrypt password
                                    $password = sha1($password);
                                    $repeatpassword = sha1($repeatpassword);

                                    //REGISTER
                                    $register = mysql_query("INSERT INTO artists VALUES ('', '', '$username', '$password', '$email', '', '$date')");
                                    echo("Registration successful, please log in on the right!");
                                }
                                else
                                    echo("The passwords don't match!");
                            }
                            else
                                echo("That email address has already been registered!");
                        }
                        else
                            echo("That username has already been registered!");
                    }
                    else
                        echo("The username you entered is too long!");
                }
                else
                    echo("Please fill out all fields!");
            }
        ?>

最佳答案

jQuery validation plugin是 jQuery 的标准验证系统,并为基于 AJAX 的验证提供支持(它会将内容发送回服务器以对其进行验证,并在失败时为您显示一条消息)。

关于php - 如何从 PHP 回显接收数据以使用 AJAX 显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6092422/

相关文章:

javascript - React、ES6+7 ajax 调用不起作用?

javascript - 长按后抬起手指时 iOS 中没有 Javascript 事件?

php - 如何批量删除 Doctrine 2 中 ManyToMany 关系中的实体?

php - 通过 PHP 发送预定消息

javascript - 如何仅考虑可见元素来获取当前元素的索引?

javascript - 如何使用 jQuery 或 JavaScript 定位 div

javascript - 从列表中选择 4 张图像

php - 我如何迭代 Laravel 模型中的属性?

php - 如果 ajax 失败,也可以通过 php 加载页面

JavaScript 原型(prototype)继承