Php Ajax条件不起作用
我有以下ajax代码:Php Ajax条件不起作用,php,ajax,Php,Ajax,我有以下ajax代码: function login() { // Create our XMLHttpRequest object var hr = new XMLHttpRequest(); // Create some variables we need to send to our PHP file var url = "login.php"; var email = document.getElementById(
function login() {
// Create our XMLHttpRequest object
var hr = new XMLHttpRequest();
// Create some variables we need to send to our PHP file
var url = "login.php";
var email = document.getElementById("email").value;
var password = document.getElementById("password").value;
var vars = "email=" + email + "&password=" + password;
hr.open("POST", url, true);
// Set content type header information for sending url encoded variables in the request
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
// Access the onreadystatechange event for the XMLHttpRequest object
hr.onreadystatechange = function() {
if (hr.readyState == 4 && hr.status == 200) {
var return_data = hr.responseText;
if (return_data == "no") {
window.location.href = 'index.html';
}
else {
document.getElementById("statuslogin").innerHTML = return_data;
}
}
}
// Send the data to PHP now... and wait for response to update the status div
hr.send(vars); // Actually execute the request
document.getElementById("statuslogin").innerHTML = "checking...";
}
和php代码
<?php
session_start();
// AJAX CALLS THIS LOGIN CODE TO EXECUTE
if(isset($_POST["email"])){
// CONNECT TO THE DATABASE
include_once("includes/db.php");
// GATHER THE POSTED DATA INTO LOCAL VARIABLES AND SANITIZE
$email = mysqli_real_escape_string($db_conx, $_POST['email']);
$password = md5($_POST['password']);
// GET USER IP ADDRESS
$ip = preg_replace('#[^0-9.]#', '', getenv('REMOTE_ADDR'));
// FORM DATA ERROR HANDLING
if($email == "" || $password == ""){
echo "Please enter your email id and password.";
exit();
} else {
// END FORM DATA ERROR HANDLING
$sql = "SELECT * FROM users WHERE email='$email' LIMIT 1";
$query = mysqli_query($db_conx, $sql);
$row = mysqli_fetch_row($query);
$db_username = $row[1];
$db_email = $row[2];
$db_pass_str = $row[3];
$db_activation = $row[4];
if($password != $db_pass_str){
echo "email id or password is incorrect!";
exit();
}
else if($db_activation=='0'){
echo"Please activate your account to login! ";
exit();
}
else {
$sql1="SELECT * FROM useroption WHERE username='$db_username'";
$query = mysqli_query($db_conx, $sql);
$row = mysqli_fetch_row($query);
$db_id = $row[0];
// CREATE THEIR SESSIONS AND COOKIES
$_SESSION['userid'] = $db_id;
$_SESSION['username'] = $db_username;
$_SESSION['password'] = $db_pass_str;
setcookie("id", $db_id, strtotime( '+30 days' ), "/", "", "", TRUE);
setcookie("user", $db_username, 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='$db_username' LIMIT 1";
$query = mysqli_query($db_conx, $sql);
echo "no";
}
}
}
}
?>
您需要添加exit()代码>之后
echo 'no';
exit();
如果不是return也是下一句话,你能试试这个吗
增加
PHP
谢谢哈伊姆,我添加了exit();但它不起作用,它回答“否”,从php代码的最后一行中删除一个右括号。@balajimca我在代码中做了,什么都没发生
if($count>0){ // added condition
......
echo "no";
}else{
.....
echo" Thank you ! One of our operator will reply you soon";
}
else{
$sql1="SELECT * FROM useroption WHERE username='$db_username'";
$query = mysqli_query($db_conx, $sql);
$count = mysqli_num_rows($query);
$row = mysqli_fetch_row($query);
$db_id = $row[0];
// CREATE THEIR SESSIONS AND COOKIES
$_SESSION['userid'] = $db_id;
$_SESSION['username'] = $db_username;
$_SESSION['password'] = $db_pass_str;
setcookie("id", $db_id, strtotime( '+30 days' ), "/", "", "", TRUE);
setcookie("user", $db_username, strtotime( '+30 days' ), "/", "", "", TRUE);
setcookie("pass", $db_pass_str, strtotime( '+30 days' ), "/", "", "", TRUE);
if($count>0){ // added condition
// UPDATE THEIR "IP" AND "LASTLOGIN" FIELDS
$sql = "UPDATE users SET ip='$ip', lastlogin=now() WHERE username='$db_username' LIMIT 1";
$query = mysqli_query($db_conx, $sql);
echo "no";
}else{
$sql = "INSERT INTO bookedtaxi (id,location,from_taxi, to_taxi,date, time)
VALUES('$db_id','$location_session','$from_session','$to_session','$date_session','$time_session')";
$query = mysqli_query($db_conx, $sql);
echo" Thank you ! One of our operator will reply you soon";
}
}