Как получить строку json из результата входа php? - PullRequest
0 голосов
/ 03 января 2019

Я должен создать простой веб-сайт вместе с приложением для Android, которые получают данные из одной базы данных.У меня нет проблем в Android, но в HTML я не могу исследовать строку JSON.Как получить результат json из php-файла для входа в систему?

в html ...

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
 <form action="login_user.php" method="post">
    <input type="text" name="username" placeholder="Enter your 
              username" id="username">
    <input type="password" name="password" placeholder="Enter your 
              password" id="password">
    <input type="button" name="login" value="Login" id="login"> 
</form>



<script>
$(document).ready(function() {
    $('#login').click(function(){
        var username = $('#username').val();
        var password = $('password').val();
        $.ajax({
            url: "login_user.php",
            method: "POST",
            response: {username:username, password:password},
            dataType: "JSON",
            success: function(response) {
                // if response is true open 2nd page html
                // else error message

            }
        });
    });
});
</script>

в php-файле ...

    <?php

$username = $_POST['username']; 
$password = $_POST['password'];  

require("connection.php");
if (!$conn) {
    // Esito negativo connessione
    $response["response"] = false;
    $response["log"] = "Error connecting to database"; // Messaggio che verrà visualizzato  
    echo json_encode($response); // Restituisce la stringa Json 
} else {
    $query = "select * from users where username = '$username' and password = '$password'";
    $result = mysqli_query($conn, $query);
    $row = mysqli_num_rows($result);

    if ($row > 0) {
        // Esito negativo connessione
    $response["response"] = true;
    $response["user"] = mysqli_fetch_assoc($result);
    echo json_encode($response); 
} else {
    $response["response"] = false;
    $response["log"] = "User not found!";
    echo json_encode($response);
}
mysqli_close($conn);
}
   ?>

Мне нужнопроверить строку json на первой html-странице, и если ответ возвращает true, то он переходит на вторую страницу

1 Ответ

0 голосов
/ 03 января 2019

Я думаю, что ваш вызов AJAX должен выглядеть так:

$.ajax({
        url: "login_user.php",
        method: "POST",
        response: {"username":username, "password":password},
        dataType: "JSON",
        success: function(response) {
            // if response is true open 2nd page html
            // else error message

        }
    });

Вы должны иметь имена параметров в кавычках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...