javascript - 使用提交限制验证密码时出错

标签 javascript php jquery mysql ajax

我有一个登录页面,我使用数据库提交限制的概念来验证用户输入的电子邮件和密码。 错误说:验证页面上未定义索引:'txtMail'。我在登录页面的readyState和status属性之后有一个警报框,以了解我从服务器端获得的结果。

<html>

<head>
    <title>LOGIN FORM</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <script>
        function check()
        {
            var name = document.getElementById('txtMail').value;
            var pass = document.getElementById('txtPass').value;
            var msg="";

            if(name == "" || pass == "")
            {
                if(name == "")
                {
                    msg="Please Enter Email ID";
                    document.getElementById('errMail').innerHTML=msg;
                }

                else
                    if(pass == "")
                {
                    msg="Please Enter Password";
                    document.getElementById('errPass').innerHTML=msg;
                }
                else
                    {
                        msg="";
                       document.getElementById('errMail').innerHTML=msg;
                       document.getElementById('errPass').innerHTML=msg;
                    }
            }
            else
                if(name == "" && pass == "")
                {
                    msg="Please Enter All The Details";
                    alert($msg);
                }
                else
                    {
                        alert("Login Succcessful");
                    }

        }
        function validate(element)
        {                
            var xmlhttp;
             //var m= document.getElementById('txtMail').value;
            // var p=document.getElementById('txtPass').value;
            if(window.XMLHttpRequest)
            {
                xmlhttp=new XMLHttpRequest();
            }
            else
            {
                xmlhttp=new Activexobject("Microsoft.XMLHTTP");
            }
            var myField=element;
            xmlhttp.open('GET','validate.php?'+myField.id+"="+myField.value,true);
            xmlhttp.send();
            xmlhttp.onreadystatechange=function()
            {
                if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
                {
                    //alert(""+m);
                   // alert(""+p);
                    var response=xmlhttp.responseText.split("||");
                    alert(""+response);
                }
                var divname="err"+myField.id.substring(3);
                var mydiv=document.getElementById(divname);
                if(!eval(response[0]))
                {
                    mydiv.innerHTML=response[1];
                    myField.valid=false;
                }
                else
                {
                    myField.valid=true;
                    mydiv.innerHTML="";

                }
                var btn=document.getElementById("LoginBtn");
                btn.disabled=!isValidForm();
            }
        };
        function isValidForm()
        {
            var f1=document.getElementById("txtMail");
            var f2=document.getElementById("txtPass");
            return(f1.valid && f2.valid);
        };      
        function redirection()
        {
            window.location="signup.html";
        }
    </script>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"> </script>
</head>
<body>
    <center>          
            <br><br>
            <table>
                <tr>
                    <td>Email ID: </td>
                    <td><input type=text id="txtMail" name="txtMail" onchange="validate(this)" valid=false> </td>
                    <td><div id="errMail"/></td>
                </tr>
                <tr><td><br></td><td/></tr>
                <tr>
                    <td>Password: </td>
                    <td><input type=password id="txtPass" name="txtPass" onchange="validate(this)" valid=false></td>
                    <td><div id="errPass"/></td>
                </tr>
            </table>
            <br>
            <div class="container">
                <input type="submit" onclick='check()' id="LoginBtn" disabled="true" value="Login"/>
                <button type="button" class='btn btn-success'  onclick="redirection()">Sign up </button>

            </div>

            <br>
            <br>
            <br>
            <br>

            <center><font color="red">© 2007-2015 sharemybooks.in</font> </center>
    </center>

</body>

</html>

验证php页面如下:

<?php include 'connection.php'; $v = false; $m = "An Unknown Error Occured"; if(isset($_GET["txtMail"])) {
$emailId=$_GET['txtMail'];
$checkdata="SELECT Email_Id FROM Customer WHERE Email_Id='$emailId'";
$query=mysql_query($checkdata);

if(mysql_num_rows($query)>0)
{
    $v=true;
    $m="";
}
else
{
    $v=false;
    $m="Email Does not Exists";
} } if(isset($_GET["txtPass"])) {
//if(isset ($_GET["txtMail"]))
//{
    $sql="SELECT * FROM Customer WHERE Email_Id = '".$_GET['txtMail']."' AND Password = '".$_GET['txtPass']."'";
    $query=mysql_query($sql);

    if(mysql_num_rows($query)>0)
    {
        $v=true;
        $m="succ";
    }
    else
    {
        $v=false;
        $m="Invalid Password";
    }
//} } echo $v."||".$m;
?>

最佳答案

<?php 

include 'connection.php';

$sql="SELECT * FROM Customer WHERE Email_Id = '".$_GET['txtMail']."' AND   Password = '".$_GET['txtPass']."'";

$row = mysql_fetch_array($sql);

if(!empty($row['Email_id']) AND !empty($row['password']))
{
header("Location: home.php");
}
else
{
$message = "Incorrect USERNAME or PASSWORD";
}
}

关于javascript - 使用提交限制验证密码时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33214541/

相关文章:

javascript - 如何使用javascript获取值(value)包?

php - 是否可以使用 PHP cURL 获得部分响应?

php - 如何在 PHP/Windows 中异步任务结束时通知用户

jquery - 如何用jquery实现递归模板

javascript - 是否可以为颜色选择创建一个 jQuery 移动范围 slider ,带有标签、阶梯边框和阶梯背景?

javascript - JQuery - 写入开启器窗口

javascript - Ajax - For 循环

javascript - 如何在 tensorflow.js 中广播矩阵/向量点积

javascript - 使用 Promise 而不拒绝它会导致内存泄漏吗?

php - [PHP]编辑记录,更新mysql查询