Форма не отправляется должным образом

Я пытался создать форму в Wordpress для отправки данных в базу данных и проверки совпадения данных, и если да, то он переходит к следующей форме, но я не могу заставить ее работать должным образом, тестировал наличие форма, помещенная в папку тем, чтобы обеспечить более прямое тестирование, php выглядит так:

<?php

if (isset($_POST['submit'])) {
  global $wpdb;

  $ordernumber = $_POST['ordernmbr'];
  $orderfirstname = $_POST['firstname'];
  $orderpostnumber = $_POST['postnmbr'];
  // Sanitizing
  $ordernumber = stripslashes_deep($ordernumber);
  $orderfirstname = stripslashes_deep($orderfirstname);
  $orderpostnumber = stripslashes_deep($orderpostnumber);


  $sql = "SELECT * FROM wp_postmeta WHERE 'post_id' = %d";
  $sql = $wpdb->prepare($sql, array($ordernumber));
  $res = $wpdb->get_results($sql);

  if ($res > 0) {
  wp_redirect(admin_url('http://localhost/wordpress/index.php/shop/'));
  die();

} else {
  $error = "Not like this";
  echo $error;
}
  print_r($res);
}
?>
<?php
 get_footer();
?>

    }

Проблема в том, что когда я пытаюсь опубликовать данные, появляется сообщение об ошибке

Warning: Cannot modify header information - headers already sent by (output started at /Applications/XAMPP/xamppfiles/htdocs/wordpress/wp-includes/class.wp-styles.php:225) in /Applications/XAMPP/xamppfiles/htdocs/wordpress/wp-includes/pluggable.php on line 1219

как мне это исправить?

переместите код POST вверху в заголовочном файле

Vel 05.09.2018 12:35
«Тестировал размещение формы в папке тем, чтобы облегчить тестирование» - что именно имеется в виду? Вы используете это как фактический файл шаблона? Это не то место, где логика данных обработка должна стоять на первом месте.
misorude 05.09.2018 12:36

@misorude изначально должен был быть плагином, но пока я не смог показать его как таковой, поэтому я попытался показать его на реальной странице, добавив его в качестве шаблона в самой теме и связав его, что способ.

Veraen 05.09.2018 12:37

@Vel спасибо, что сработало

Veraen 05.09.2018 12:42
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать 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
4
29
1

Ответы 1

Вы не можете перенаправить браузер после того, как контент уже начал обслуживаться.

Этот фрагмент кода должен быть включен до начала загрузки темы, поэтому он должен быть в плагине.

При настройке плагина не забудьте дать ему высокий приоритет и выбрать правильный фильтр / действие, чтобы он загружался раньше (до рендеринга любого контента): Справочник действий WP

Я разберусь, когда смогу, спасибо!

Veraen 05.09.2018 13:51

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