Javascript Ajax验证在html元素中复制html页面

Javascript Ajax验证在html元素中复制html页面,javascript,php,html,jquery,ajax,Javascript,Php,Html,Jquery,Ajax,使用Ajax进行PHP用户名验证与html div(用于显示Ajax错误)元素内的html页面重复。我尝试了一些解决方案,但谷歌it部门找不到其他解决方案。也许问题出在$_POST上,但我也在php中将它们分开(所有输入验证) 这里是PHP代码 <?php if(isset($_POST['username'])){ //username validation $username = $_POST['username']; if (! $user->is

使用Ajax进行PHP用户名验证与html div(用于显示Ajax错误)元素内的html页面重复。我尝试了一些解决方案,但谷歌it部门找不到其他解决方案。也许问题出在$_POST上,但我也在php中将它们分开(所有输入验证)

这里是PHP代码

<?php 

if(isset($_POST['username'])){
    //username validation
    $username = $_POST['username'];

    if (! $user->isValidUsername($username)){
        $infoun[] = 'Your username has at least 6 alphanumeric characters';
    } else {
        $stmt = $db->prepare('SELECT username FROM members WHERE username = :username');
        $stmt->execute(array(':username' => $username));
        $row = $stmt->fetch(PDO::FETCH_ASSOC);

        if (! empty($row['username'])){
            $errorun[] = 'This username is already in use';
        }
    }
}


if(isset($_POST['fullname'])){
    //fullname validation
    $fullname = $_POST['fullname'];

    if (! $user->isValidFullname($fullname)){
        $infofn[] = 'Your name must be alphabetical characters';
    }   
}

if(isset($_POST['password'])){
    if (strlen($_POST['password']) < 6){
        $warningpw[] = 'Your password must be at least 6 characters long';
    }   
}

if(isset($_POST['email'])){
    //email validation
    $email = htmlspecialchars_decode($_POST['email'], ENT_QUOTES);
    if (! filter_var($email, FILTER_VALIDATE_EMAIL)){
        $warningm[] = 'Please enter a valid email address';
    } else {
        $stmt = $db->prepare('SELECT email FROM members WHERE email = :email');
        $stmt->execute(array(':email' => $email));
        $row = $stmt->fetch(PDO::FETCH_ASSOC);

        if (! empty($row['email'])){
            $errorm[] = 'This email is already in use';
        }
    }
}

?>

这里是Javascript

<script type="text/javascript">
    $(document).ready(function(){
        
        $("#username").keyup(function(event){
        event.preventDefault();
        var username = $(this).val().trim();
        if(username.length >= 3){
            $.ajax({
                url: 'register.php',
                type: 'post',
                data: {username:username},
                success: function(response){
                // Show response
                $("#uname_response").html(response);
                }
            });
        }else{
            $("#uname_response").html("");
        }

        });     

    });
</script>

<input type="text" name="username" id="username" class="form-control form-control-user" placeholder="Kullanıcı Adınız" value="<?php if(isset($error)){ echo htmlspecialchars($_POST['username'], ENT_QUOTES); } ?>" tabindex="2" required>

<div id="uname_response" ></div>

$(文档).ready(函数(){
$(“#用户名”).keyup(函数(事件){
event.preventDefault();
var username=$(this.val().trim();
如果(username.length>=3){
$.ajax({
url:'register.php',
键入:“post”,
数据:{username:username},
成功:功能(响应){
//表示回应
$(“#uname_response”).html(response);
}
});
}否则{
$(“#uname_response”).html(“”);
}
});     
});

PHP文件中的唯一代码应该在
标记中。您需要将PHP代码分离到另一个文件中。

此PHP代码是否位于当前文件中?如果是这样,响应文本将是当前文件中的所有内容。register.php不应包含html@luekbaja这就是它再次重新加载html的原因。如果我像register.php和registerform.html那样分开,它会被修复,对吗?是的,它应该可以工作,我已经发布了我的答案