2016-03-06 1 views
-1

Я не понимаю этого сценария входаANDROID & PHP | войти в

<?php 
require("dbConnect.php"); 

if (!empty($_POST)) { 
    $query = "SELECT * FROM tb_user WHERE instructor_id = :instructor_id"; 

    $query_params = array(
     ':instructor_id' => $_POST['instructor_id'] 
    ); 

    try { 
     $stmt = $db->prepare($query); 
     $result = $stmt->execute($query_params); 
    } 
    catch (PDOException $ex) { 

     $response["success"] = 0; 
     $response["message"] = "Database Error1. Please Try Again!"; 
     die(json_encode($response)); 
    } 

     $row = $stmt->fetch(); 
    if ($row) { 
     //if we encrypted the password, we would unencrypt it here, but in our case we just 
     //compare the two passwords 
     $password = $_POST['password']; 
     if (md5($password) == $row['password']) { 
      $response["success"] = 1; 
      $response["message"] = "Login successful!"; 
      die(json_encode($response)); 
     }else { 
     $response["success"] = 0; 
     $response["message"] = "Invalid Credentials!"; 
     die(json_encode($response)); 
     } 
    } 

} else { 
?> 
     <h1>Login</h1> 
     <form action="login.php" method="post"> 
      Username:<br /> 
      <input type="text" name="instructor_id" placeholder="instructor_id" /> 
      <br /><br /> 
      Password:<br /> 
      <input type="password" name="password" placeholder="password" value="" /> 
      <br /><br /> 
      <input type="submit" value="Login" /> 
     </form> 
    <?php 
} 
?> 

, когда я вошел в правильные учетные данные результатом является {"success":1,"message":"Login successful!"}

и когда я намеренно ввести неправильный пароль, это результат {"success":0,"message":"Invalid Credentials!"}

но проблема заключается в том, что когда я ввел неправильное имя пользователя и передал, что в результате не отображается json. Результат, который я ищу, все равно должен выглядеть следующим образом: {"success":0,"message":"Invalid Credentials!"}, потому что я ввел неправильные учетные данные для входа

ответ

2

Попробуйте это:

if ($row) { 
    //compare the two passwords 
    $password = $_POST['password']; 

    if (md5($password) == $row['password']) { 
     $response["success"] = 1; 
     $response["message"] = "Login successful!"; 
     die(json_encode($response)); 
    } else { 
     $response["success"] = 0; 
     $response["message"] = "Invalid Credentials!"; 
     die(json_encode($response)); 
    } 

} else { 
    $response["success"] = 0; 
    $response["message"] = "Invalid Credentials!"; 
    die(json_encode($response)); 
} 
+1

Спасибо, сэр, что помогает мне много – CallMeJeo