Расположение заголовка, приводящее к ошибке 404

Я пробовал использовать функцию заголовка. Но когда я нажимаю кнопку входа в систему, отображается сообщение об ошибке. Мой документ для входа находится в: XAMPP \ htdocs \ Website \ includes \ login.inc.php Мой индексный документ находится в: XAMPP \ htdocs \ Website \ index.php

Надеюсь, кто-нибудь сможет помочь.

<?php

session_start();

if (isset($_POST['submit'])) {

include 'dbh.inc.php';

$gebr = mysqli_real_escape_string($conn, $_POST['gebr']);
$pwd = mysqli_real_escape_string($conn, $_POST['pwd']);

//Foutmeldingen
    //Check of de velden leeg zijn
    if (empty($gebr) || empty($pwd)) {
        header("Location: ../index.php?login=empty");
        exit();
    } else {
        $sql = "SELECT * FROM stemmer WHERE Naam='$gebr'";
        $result = mysqli_query($conn, $sql);
        $resultCheck = mysqli_num_rows($result);
        if ($resultCheck < 1) {
            header("Location: ../index.php?login=error");
            exit();
        } else {
            if ($row = mysqli_fetch_assoc($result)) {

                if ($row['Wachtwoord'] != $pwd) {
                    header("Location: ../index.php?login=error");
                    exit();
                } else{
                    //Log de gebruiker hier in
                    $_SESSION['u_id'] = $row['idStemmer'];
                    $_SESSION['u_naam'] = $row['Naam'];
                    $_SESSION['u_gemeente'] = $row['idGemeente'];
                    $_SESSION['u_partij'] = $row['idPartij'];

                    header("Location: ../index.php?login=succes");
                    exit();
                }
            }
        }
    }
} else {

    header("Location: ../index.php?login=error");
    exit();
}

Ну что за сообщение об ошибке? У них есть цель. Имейте в виду, что заголовки не могут быть отправлены после тела, поэтому вы не можете ничего распечатывать перед заголовками, включая пробелы в любых файлах до <?php.

Devon 11.04.2018 12:26

Ошибка 404. URL-адрес не найден на сервере.

aftershock 11.04.2018 12:29
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
247
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Когда вы включаете файл, URI не изменяется. Таким образом, вы по-прежнему ссылаетесь на ссылки или местоположения на основе загруженного URI.

Основываясь на вашей ошибке 404, вполне вероятно, что вы включаете этот файл из того же веб-каталога, что и index.php, поэтому местоположение не должно быть установлено на ../index.php?login=error, который будет пытаться вернуться на один каталог назад, но index.php?login=error, который попытается загрузить index.php в том же веб-каталоге.

Вы также можете использовать /index.php?login=error (префикс /), который загрузит index.php из корневого каталога Интернета. Если вы собираетесь загружать этот включаемый файл во множество разных файлов, лучше всего использовать относительные корневые пути, подобные этому.

Вы можете использовать буферизацию вывода, чтобы обойти эту проблему, при этом накладные расходы на весь ваш вывод в браузер буферизуются на сервере до тех пор, пока вы его не отправите. Вы можете сделать это, вызвав ob_start () и ob_end_flush () в вашем скрипте или установив директиву конфигурации output_buffering в вашем php.ini или файлах конфигурации сервера.

Используйте ob_start()

Для получения дополнительной информации прочтите это Заметки

Не уверен, помогает ли это с ошибкой «Ошибка 404. URL-адрес не найден на сервере». в комментариях OP.

Nigel Ren 11.04.2018 12:49

Другие вопросы по теме