Как проверить пароль пользователя и отобразить данные пользователя в виде строки json? - PullRequest
0 голосов
/ 05 декабря 2018

Я работаю над приложением для Android, Java-приложением, и я запросил ответ из php-файла, загруженного на мой хост, и мой ответ «[]», я проверил код php, и я не знаю, чтопроблема в том, что я видел несколько постов, это проблема кодирования, о которой я ничего не знаю, вы можете мне помочь, пожалуйста, вот мой php код.

1 Ответ

0 голосов
/ 05 декабря 2018

Мои рекомендуемые корректировки:

<?php     
require_once '../includes/DbConnect.php';  // <-- change from procedural to obj-oriented
$response['error'] = true;                 // default value
if (!isset($_POST['username'], $_POST['password'])) { 
    $response['message'] = "Invalid username or password";
} elseif (!$con) {
    $response['message'] = "Database Connection Error: "; // for private debugging only: . $con->connect_error;
} elseif (!$stmt = $con->prepare("SELECT * FROM users WHERE username = ?")) {
    $response['message'] = "Prepare Syntax Error";  // for private debugging only: . $con->error
} elseif (!$stmt->bind_param("s", $_POST['username']) || !$stmt->execute() || !$result = $stmt->get_result()) {
    $response['message'] = "Statement Error";  // for private debugging only: . $stmt->error
} elseif (!$user = $result->fetch_assoc() || !password_verify($_POST['password'], $user['password'])) {
    $response['message'] = "Invalid username or password";  
} else {
    $response['error'] = false; 
    $response['id'] = $user['idUsers'];
    $response['email'] = $user['email'];
    $response['username'] = $user['username'];
    $response['country'] = $user['country'];
    $response['firstname'] = $user['firstname'];
    $response['lastname'] = $user['lastname'];
    $response['points'] = $user['points'];
}
echo json_encode($response);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...