JQuery Ajax submitHandler () после проверки формы - PullRequest
0 голосов
/ 03 апреля 2020

Я использую библиотеку JQuery и пытаюсь передать ajax, когда моя форма подтверждена с submitHandler.

. Я проверяю правильность информации учетной записи. Однако я делаю проблему, в моем состоянии функции успеха в Ajax, я хотел бы, чтобы форма загружалась, если данные не равны нулю. Так что мое состояние работает хорошо, если я поставил неверный пароль, он обнаруживает ноль. Однако, если я введу правильный пароль, моя форма загрузит и перенаправит меня на мою домашнюю страницу, а не на страницу профиля пользователя. PHP сеансы даже не создаются в другом месте, как если бы они игнорировались.

Jquery:

submitHandler: function (form) {
    $.ajax({
        type: "POST",
        url: "App/Actions/PlayerCheckAuthentication.php",
        data: $("form[name='auth']").serialize(),
        success: function (data) {
            if (data == 0) {
                console.log(data)
                $(".input-container").eq(5).append("<label class='box gray b_error'>Password incorrect.</label>");
                $(":input[name='password']").addClass("red");
            } else {
                form.submit();
            }
        }
    });
    return false;
},

PHP Ajax Вызов:

<?php

require '../../vendor/autoload.php';

use App\Models\AuthManager as Auth;
use App\Config;

$Auth = new Auth();

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

if (isset($username) && isset($password)) {
    if ($Auth->auth($username, $password)) {
        echo "true";
        header("Location: " . Config::APP_URL . "/me");
    } else {
        echo "false";
    }
}

PHP Функция

    public function auth($username, $password)
    {
        $array = Model::getDB()->get("users", "*", ["username" => $username]);
        $count = Model::getDB()->count("users", ["username" => $username]);

        if ($count > 0) {
            if (password_verify($password, $array['password'])) {
                $_SESSION['user'] = array();

                foreach ($array as $user => $key) {
                    //unset($_SESSION['user']['password']);
                    $_SESSION['user'][$user] = $key;
                }
                return true;
            } else {
                return false;
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...