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

Когда я пытаюсь получить пользовательские данные из mysql, он просто ничего не показывает.Это похоже на то, что он ничего не получает в $ user_log.

if(isset($_POST['login_user']))
    {
        $username = mysqli_real_escape_string($db, $_POST['username']);
        $password = mysqli_real_escape_string($db, $_POST['password']);
        $errors = array();

        if(empty($username))
        {
            array_push($errors, "Попълнете потребителското име");
        }
        if(empty($password))
        {
            array_push($errors, "Попълнете паролата");
        }

        if(count($errors) == 0)
        {
            $password = md5($password);
            $query = "SELECT 'active', 'email' FROM users WHERE username='".$username."' AND password='".$password."'";
            $results = mysqli_query($db, $query);
            if(mysqli_num_rows($results) == 1)
            {
                $user_log = mysqli_fetch_array($result, MYSQLI_BOTH);
                // Trying to find if there is something in 'active'
                echo 'Active: ' . $user_log['active'];
                if($user_log['active'])
                {
                    $_SESSION['username'] = $username;
                    $_SESSION['success'] = "1";
                    header("location: user.php?action=panel");
                }
                else
                    array_push($errors, "Профилът не е потвърден. Има изпратен линк за потвърждение на ". $user_log['email'] .".");
            }
            else
            {
                array_push($errors, "Грешно потребителско име или парола.");
            }
        }
    }

Я хочу получить, если столбец 'active' в базе данных пользователей равен 0 или 1, и если он равен 0, чтобы сказать ему, чтобы он пошёл на подтверждение егоотправьте электронное письмо и распечатайте сообщение пользователя в сообщении.

1 Ответ

0 голосов
/ 12 апреля 2019

Возможно, это echo 'Active: ' . $user_log['active'];, который вы делаете до header("location: user.php?action=panel");

Если я верю документации PHP , вы не должны пытаться что-либо отобразить перед вызовом header ().

Помните, что header () должна вызываться перед отправкой любого фактического вывода, либо обычными тегами HTML, пустыми строками в файле, либо из PHP.

РЕДАКТИРОВАТЬ:

Я только что заметил, что вы пишете $result вместо $results в $user_log = mysqli_fetch_array($result, MYSQLI_BOTH);.Если это по-прежнему не является причиной вашей проблемы ... Я не могу вам помочь, извините.

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