1

пишу валидационную форму на php. страница, вроде как, простая. форма зациклена сама на себя, для проверки введенных данных. после формы ставлю функцию

<?php if ($isPost && $isValid) {header("Location: check.php", TRUE, 301);}?>

где $isPost = $_SERVER["REQUEST_METHOD"]=="POST", а $isValid проверяет введенные пользователем данные.

функция не срабатывала. прочел все ответы здесь. не помогло. начал играть. вырезал функцию и ставил ее поочередно в разные места кода. смотрел, откуда она соглашается переслать меня на другую страницу, а откуда - нет. выяснилось, что функция работает в любом месте до строки:

<input name="card" placeholder="1234 1234 1234 1234" required  type="text" value="<?=$card?>">

и не работает в любом месте после нее. что не так с этой строкой? вопрос, скорее всего, решается запросто, поэтому заранее прошу прощения за неопытность.

  • Прежде всего Вам необходимо понять суть данной ошибки. Если Вы уже начали строить документ, то Вы не можете его модифицировать или добавлять элементы, не добавив output_buffering в php.ini. Вам необходимо изначально корректно выстраивать свой документ при формировании. Всё же советую ещё раз почитать внимательнее пост https://ru.stackoverflow.com/questions/284578/cannot-modify-header-information-headers-already-sent-by – Denis640Kb Mar 21 '20 at 20:44
  • 2
    Возможный дубликат вопроса: Cannot modify header information - headers already sent by – u_mulder Mar 21 '20 at 20:46
  • благодарю. дело в том, что за php сел дня 3 назад. много не понимаю. в частности, не понимаю, что такое php.ini. на проблемы пробелов, переносов и прочих выводов все проверил. нигде подобного не происходит. особенно сбивает с толку то, что страница с ровно таким же функционалом, как и у этой, работала. написана она была учителем для примера и содержала буквально 3 строки ввода. буквально списываю все с нее. и тут такая незадача. – Эдем Велиев Mar 21 '20 at 21:02

0 Answers0