I am trying to set up a simple login page that compares the password entered in the password field to that stored in a database under the same email address. I've disable the updating of my iFrame (the desired result) and changed it so it just says "IT WORKED!" if it works properly. However, I can't get that message to appear. Below is my .htm file, my .js file, and my .php file.
I can't figure out where it's going wrong, I think it has something to do with the readyState, because it's never hitting 4.
formlogin.htm
---------------------------------------------
<html>
<head>
<script src="passwordlookup.js"></script>
</head>
<body>
<form name="Login">
<b><font size="2">Email Address:</font></b>
<input type="text" name="EmailAddress" size="20">
<br>
<b><font size="2">Password: </font></b>
<input type="password" name="Password" size="20">
<br>
<input type="button" value="Login" onClick= "passwordLookup(EmailAddress.value, Password.value);">
</form>
<br>
<font size="2"><a href="/forms/formsignup.htm" target = "iFrameHomes">New User? - Sign Up Here</a>
<br>
<a href="/forms/formforgotpassword.htm" target = "iFrameHomes">Forgot Your Password?</a></font>
</body>
</html>
---------------------------------------------
passwordlookup.js
---------------------------------------------
var xmlHttp;
function passwordLookup(email, pw)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="passwordlookup.php";
url=url+"?q="+email;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange= stateChanged(email,pw);
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged(email, pw)
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
if (xmlHttp.responseText==pw) {
document.write("IT WORKED!");
//iFrameHomes.src="myCRES.htm"
}
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
---------------------------------------------
passwordlookup.php
---------------------------------------------
<?php
$q=$_GET["q"];
$con = mysql_connect("server", "myusername", "mypassword");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("databasename", $con);
$sql="SELECT Password FROM Members WHERE Email = '".$q."'";
$result = mysql_query($sql);
echo $result;
mysql_close($con);
?>
---------------------------------------------
Any help would be greatly appreciated.
I can't figure out where it's going wrong, I think it has something to do with the readyState, because it's never hitting 4.
formlogin.htm
---------------------------------------------
<html>
<head>
<script src="passwordlookup.js"></script>
</head>
<body>
<form name="Login">
<b><font size="2">Email Address:</font></b>
<input type="text" name="EmailAddress" size="20">
<br>
<b><font size="2">Password: </font></b>
<input type="password" name="Password" size="20">
<br>
<input type="button" value="Login" onClick= "passwordLookup(EmailAddress.value, Password.value);">
</form>
<br>
<font size="2"><a href="/forms/formsignup.htm" target = "iFrameHomes">New User? - Sign Up Here</a>
<br>
<a href="/forms/formforgotpassword.htm" target = "iFrameHomes">Forgot Your Password?</a></font>
</body>
</html>
---------------------------------------------
passwordlookup.js
---------------------------------------------
var xmlHttp;
function passwordLookup(email, pw)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="passwordlookup.php";
url=url+"?q="+email;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange= stateChanged(email,pw);
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged(email, pw)
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
if (xmlHttp.responseText==pw) {
document.write("IT WORKED!");
//iFrameHomes.src="myCRES.htm"
}
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
---------------------------------------------
passwordlookup.php
---------------------------------------------
<?php
$q=$_GET["q"];
$con = mysql_connect("server", "myusername", "mypassword");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("databasename", $con);
$sql="SELECT Password FROM Members WHERE Email = '".$q."'";
$result = mysql_query($sql);
echo $result;
mysql_close($con);
?>
---------------------------------------------
Any help would be greatly appreciated.