Hi, i have problems with getting processing ajax.responsetext.
My php from where it sends response to ajax :
echo "fail";
ajax.responsetext processing:
if(ajax.responseText == "fail"){
_("status").innerHTML = "Login unsuccessful, please try again.";
_("loginbtn").style.display = "block";
} else {
window.location = "user.php?u="+ajax.responseText;
}
And it is not working. Javascript returns "user.php?u="+ajax.responseText;" when it should return "Login unsuccessful, please try again."
please help me find problem in this.
Here is my whole code:
<?php
// AJAX CALLS THIS LOGIN CODE TO EXECUTE
if (isset ( $_POST ["u"] )) {
// CONNECT TO THE DATABASE
include_once ("php_includes/db_conx.php");
// GATHER THE POSTED DATA INTO LOCAL VARIABLES AND SANITIZE
$u = mysqli_real_escape_string ( $db_conx, $_POST ['u'] );
$p = $_POST ['p'];
$hashp = md5($p);
// GET USER IP ADDRESS
$ip = preg_replace ( '#[^0-9.]#', '', getenv ( 'REMOTE_ADDR' ) );
// FORM DATA ERROR HANDLING
if ($u == "" || $p == "") {
echo "fail";
exit ();
} else {
// END FORM DATA ERROR HANDLING
$sql = "SELECT id, email, password FROM users WHERE username='$u' AND activated='1' LIMIT 1";
$query = mysqli_query ( $db_conx, $sql );
$row = mysqli_fetch_row ( $query );
$db_id = $row [0];
$db_email = $row [1];
$db_pass_str = $row [2];
if ($hashp != $db_pass_str) {
echo "fail";
exit ();
} else {
// CREATE THEIR SESSIONS AND COOKIES
$_SESSION ['userid'] = $db_id;
$_SESSION ['username'] = $u;
$_SESSION ['password'] = $db_pass_str;
setcookie ( "id", $db_id, strtotime ( '+30 days' ), "/", "", "", TRUE );
setcookie ( "user", $u, strtotime ( '+30 days' ), "/", "", "", TRUE );
setcookie ( "pass", $db_pass_str, strtotime ( '+30 days' ), "/", "", "", TRUE );
// UPDATE THEIR "IP" AND "LASTLOGIN" FIELDS
$sql = "UPDATE users SET ip='$ip', lastlogin=now() WHERE username='$u' LIMIT 1";
$query = mysqli_query ( $db_conx, $sql );
echo $u;
exit ();
}
}
exit ();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Log In</title>
<link rel="icon" href="favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="style/style.css">
<script src="js/main.js"></script>
<script src="js/ajax.js"></script>
<script>
function emptyElement(x){
_(x).innerHTML = "";
}
function login(){
var u = _("username").value;
var p = _("password").value;
if(u == "" || p == ""){
_("status").innerHTML = "Fill out all of the form data";
} else {
_("loginbtn").style.display = "none";
_("status").innerHTML = 'please wait ...';
var ajax = ajaxObj("POST", "index.php");
ajax.onreadystatechange = function() {
if(ajaxReturn(ajax) == true) {
if(ajax.responseText == "fail"){
_("status").innerHTML = "Login unsuccessful, please try again.";
_("loginbtn").style.display = "block";
} else {
window.location = "user.php?u="+ajax.responseText;
}
}
}
ajax.send("u="+u+"&p="+p);
}
}
</script>
</head>
<body>
<div id="pageMiddle">
<h3>Log In Here</h3>
<!-- LOGIN FORM -->
<form id="loginform" onsubmit="return false;">
<div>Username:</div>
<input type="text" id="username" onfocus="emptyElement('status')"
maxlength="88">
<div>Password:</div>
<input type="password" id="password" onfocus="emptyElement('status')"
maxlength="50"> <br />
<br />
<button id="loginbtn" onclick="login()">Log In</button>
<p id="status"></p>
<a href="signup.php" >Register</a>
</form>
<!-- LOGIN FORM -->
</div>
</body>
</html>