Javascript/jQuery注册表单问题

Javascript/jQuery注册表单问题,javascript,php,jquery,Javascript,Php,Jquery,好吧,我的剧本有问题,不确定问题是什么,我眼中的一切似乎都在检查。但希望你们能知道问题是什么(我没有让PHP脚本将注册提交到数据库,但脚本永远不会返回) 所以问题基本上是,在点击注册按钮后,它什么也不做,没有错误日志,什么也不显示 这是位于c:/website/@account/Register.php的Register.php文件 <?php include("@includes/database.php"); include("@includes/init.ph

好吧,我的剧本有问题,不确定问题是什么,我眼中的一切似乎都在检查。但希望你们能知道问题是什么(我没有让PHP脚本将注册提交到数据库,但脚本永远不会返回)

所以问题基本上是,在点击注册按钮后,它什么也不做,没有错误日志,什么也不显示

这是位于c:/website/@account/Register.php的Register.php文件

    <?php
    include("@includes/database.php");
    include("@includes/init.php");

    $x1 = rand(2,15);
    $x2 = rand(1,14);

    //Get Captcha Answer
    $first = $x1;
    $second = $x2;
    $answer = $first + $second;

    if ($user -> LoggedIn())
    {
    header('Location: index.php?page=Dashboard');
    }
    ?>
    <!DOCTYPE html>
    <html class="no-js">
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Business Name | Registration</title>
        <link href="https://fonts.googleapis.com/css?family=Roboto:400,300,100,500,700,900" rel="stylesheet" type="text/css">
        <link href="@assets/css/icons/icomoon/styles.css" rel="stylesheet" type="text/css">
        <link href="@assets/css/bootstrap.css" rel="stylesheet" type="text/css">
        <link href="@assets/css/core.css" rel="stylesheet" type="text/css">
        <link href="@assets/css/components.css" rel="stylesheet" type="text/css">
        <link href="@assets/css/colors.css" rel="stylesheet" type="text/css">
        <script type="text/javascript" src="@assets/js/plugins/loaders/pace.min.js"></script>
        <script type="text/javascript" src="@assets/js/core/libraries/jquery.min.js"></script>
        <script type="text/javascript" src="@assets/js/core/libraries/bootstrap.min.js"></script>
        <script type="text/javascript" src="@assets/js/plugins/loaders/blockui.min.js"></script>
        <script type="text/javascript" src="@assets/js/plugins/forms/styling/uniform.min.js"></script>
        <script type="text/javascript" src="@assets/js/core/app.js"></script>
        <script type="text/javascript" src="@assets/js/pages/login.js"></script>
                <script>
            function register()
            {
            var username=$('#username').val();
            var password=$('#password').val();
            var rpassword=$('#rpassword').val();
            var email=$('#email').val();
            var captcharesult=$('#captcharesult').val();
            var answer="<?php echo $answer; ?>";
            document.getElementById("registerdiv").style.display="none";
            var xmlhttp;
            if (window.XMLHttpRequest)
              {// code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
              }
            else
              {// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
              }
            xmlhttp.onreadystatechange=function()
              {
              if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                document.getElementById("registerdiv").innerHTML=xmlhttp.responseText;
                document.getElementById("registerdiv").style.display="inline";
                if (xmlhttp.responseText.search("Redirecting") != -1)
                {
                setInterval(function(){window.location="google.com"},3000);
                }
                }
              }
            xmlhttp.open("POST","login.php?type=register",true);
            xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
            xmlhttp.send("username=" + username + "&password=" + password + "&repeatpassword=" + repeatpassword + "&email=" + email + "&captcharesult=" + captcharesult + "&answer=" + answer);
            }
            </script>
    </head>

<body>

    <div class="page-container login-container">
        <div class="page-content">
            <div class="content-wrapper">
                <div class="content">
                    <!-- Advanced login -->
                     <form method="post" action="" name="register">
                        <div class="panel panel-body login-form">
                            <div class="text-center">
                                <h5 class="content-group">Business Name <small class="display-block">Account Registration</small></h5>
                                <div id="registerdiv" style="display:inline"></div>
                            </div>
                            <div class="form-group has-feedback has-feedback-left">
                                <input type="text" class="form-control" name="username" id="username" placeholder="Username">
                                <div class="form-control-feedback">
                                    <i class="icon-user-check text-muted"></i>
                                </div>
                            </div>

                            <div class="form-group has-feedback has-feedback-left">
                                <input type="text" class="form-control" name="email" id="email" placeholder="Email Address">
                                <div class="form-control-feedback">
                                    <i class="icon-mail5 text-muted"></i>
                                </div>
                            </div>

                            <div class="form-group has-feedback has-feedback-left">
                                <input type="password" class="form-control" name="password" id="password" placeholder="Password">
                                <div class="form-control-feedback">
                                    <i class="icon-lock2 text-muted"></i>
                                </div>
                            </div>

                            <div class="form-group has-feedback has-feedback-left">
                                <input type="password" class="form-control" name="repeatpassword" id="repeatpassword" placeholder="Repeat Password">
                                <div class="form-control-feedback">
                                    <i class="icon-lock2 text-muted"></i>
                                </div>
                            </div>

                            <div class="form-group has-feedback has-feedback-left">
                                <input type="text" class="form-control" name="captcharesult" id="captcharesult" placeholder="<?php echo ''.$x1.'+'.$x2.'?'; ?>">
                                <div class="form-control-feedback">
                                    <i class="icon-info3 text-muted"></i>
                                </div>
                            </div>

                            <input name="one" type="hidden" value="<?php echo $x1; ?>" />
                            <input name="two" type="hidden" value="<?php echo $x2; ?>" />

                            <button type="button" onclick="register()"class="btn bg-primary btn-block btn-lg">Register</button>
                            <button name="login" id="login" type="submit" class="btn bg-success btn-block btn-lg">Login</button>

                        </div>
                    </form>
                    <center>
                    <div class="text-muted">
                        &copy; 2015-<?php echo date('Y'); ?> <a href="https://Business Name.com/">Business Name</a>
                    </div>
                    </center>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

企业名称|注册
函数寄存器()
{
var username=$('#username').val();
var password=$('#password').val();
var rpassword=$('#rpassword').val();
var email=$('#email').val();
var captcharesult=$('#captcharesult').val();
var-answer=“”;
document.getElementById(“registerdiv”).style.display=“无”;
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“registerdiv”).innerHTML=xmlhttp.responseText;
document.getElementById(“registerdiv”).style.display=“inline”;
if(xmlhttp.responseText.search(“重定向”)!=-1)
{
setInterval(function(){window.location=“google.com”},3000);
}
}
}
open(“POST”,“login.php?type=register”,true);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
xmlhttp.send(“username=“+username+”&password=“+password+”&repeatpassword=“+repeatpassword+”&email=“+email+”&captcharesult=“+captcharesult+”&answer=“+answer”);
}
商号户口登记

我想指出几点。首先,当您单击“注册”按钮时,会出现以下错误:

TypeError:寄存器不是函数

原因是,html代码中的
标记与函数名一样具有
name=“register”
。正因为如此,一些浏览器可以通过在js代码中指定名称来访问节点元素,然后定义的函数被DOM中的元素覆盖

因此,您需要更改
标记中的函数名或属性
name
。我已将函数名从
register()
更改为
registation()

其次,更改
var rpassword=$('#rpassword').val()
to
var rpassword=$('#repeatpassword').val()

第三,在
send()
函数中,将
..”和repeatpassword=“+repeatpassword+”&email=“…
更改为
..”和repeatpassword=“+rpassword+”&email=“…

解决方案:

您的HTML和JavaScript代码应如下所示:

// your code

<button type="button" onclick="registration()" class="btn bg-primary btn-block btn-lg">Register</button>

// your code

<script>
    function registration(){
        var username=$('#username').val();
        var password=$('#password').val();
        var rpassword=$('#repeatpassword').val();
        var email=$('#email').val();
        var captcharesult=$('#captcharesult').val();
        var answer="<?php echo $answer; ?>";
        document.getElementById("registerdiv").style.display="none";
        var xmlhttp;
        if (window.XMLHttpRequest){
            // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        }else{
            // code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange=function(){
            if (xmlhttp.readyState==4 && xmlhttp.status==200){
                document.getElementById("registerdiv").innerHTML=xmlhttp.responseText;
                document.getElementById("registerdiv").style.display="inline";
                if (xmlhttp.responseText.search("Redirecting") != -1){
                    setInterval(function(){window.location="google.com"},3000);
                }
            }
        }
        xmlhttp.open("POST","login.php?type=register",true);
        xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xmlhttp.send("username=" + username + "&password=" + password + "&repeatpassword=" + rpassword + "&email=" + email + "&captcharesult=" + captcharesult + "&answer=" + answer);
    }
</script>
<?php

    if(isset($_POST['answer']) && isset($_POST['captcharesult']) && isset($_POST['email']) && isset($_POST['password']) && isset($_POST['repeatpassword']) && isset($_POST['username'])){

        if(isset($_GET['type']) && $_GET['type'] == "register"){

            //Get Registration Info
            $username = $_POST['username'];
            $email = $_POST['email'];
            $password = $_POST['password'];
            $repeatpassword = $_POST['repeatpassword'];
            $captcharesult = $_POST['captcharesult'];

            // now the rest of your code

        }

    }

?>
//您的代码
登记
//你的代码
函数注册(){
var username=$('#username').val();
var password=$('#password').val();
var rpassword=$('#repeatpassword').val();
var email=$('#email').val();
var captcharesult=$('#captcharesult').val();
var-answer=“”;
document.getElementById(“registerdiv”).style.display=“无”;
var-xmlhttp;
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}否则{
//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“registerdiv”).innerHTML=xmlhttp.responseText;
document.getElementById(“registerdiv”).style.display=“inline”;
if(xmlhttp.responseText.search(“重定向”)!=-1){
setInterval(function(){window.location=“google.com”},3000);
}
}
}
open(“POST”,“login.php?type=register”,true);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
xmlhttp.send(“username=“+username+”&password=“+password+”&repeatpassword=“+rpassword+”&email=“+email+”&captcharesult=“+captch
<?php

    if(isset($_POST['answer']) && isset($_POST['captcharesult']) && isset($_POST['email']) && isset($_POST['password']) && isset($_POST['repeatpassword']) && isset($_POST['username'])){

        if(isset($_GET['type']) && $_GET['type'] == "register"){

            //Get Registration Info
            $username = $_POST['username'];
            $email = $_POST['email'];
            $password = $_POST['password'];
            $repeatpassword = $_POST['repeatpassword'];
            $captcharesult = $_POST['captcharesult'];

            // now the rest of your code

        }

    }

?>