Задать вопрос
gazes12
@gazes12

Почему выдает ошибку: Сайт выполнил переадресацию слишком много раз, когда ввожу header(Location: /)?

<?php
require 'config.php';
    $name = $_POST['name'];
    $surname = $_POST['surname'];
    $message = $_POST['message'];

    $errors = [];
    if($name == '' || $surname == '' || $message == ''){
        $errors[] = 'Не все поля заполнены!';
    }else if(!preg_match('/[a-z]/', $name || !preg_match('/[a-z]/', $surname) || !preg_match('/[a-z]/', $message))){
        $errors[] = 'В полях должны содержатся буквы!';
    }

    if(empty($errors)){
        $sql = "INSERT INTO `comments` (`name`, `surname`, `message`) VALUES(:name, :surname, :message)";
        $query = $conn->prepare($sql);
        $query->execute(['name' => $name, 'surname' => $surname, 'message' => $message]);
    }else{
        header('location: /');  /*После этой строки, выдает ошибку: Сайт выполнил переадресацию слишком много раз.*/
    }
?>


Главный файл
require 'php/config.php';
require 'php/comments.php';
    <div class="errors">
        <?php
            if(!empty($errors)){
                array_shift($errors);
            }
        ?>
    </div>
  • Вопрос задан
  • 226 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
1) зачем require 'config.php'; в обоих файлах?
2) судя по всему, код первого файла должен выполняться только при субмите формы, соответственно весь код должен быть обернут в проверку метода запроса, смотрите $_SERVER['REQUEST_METHOD'].
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы