我有一个登录页面,用于验证用户使用数据库提交限制的概念输入的电子邮件和密码。
错误消息:validate页面上的未定义索引:'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";
}
}