• В теме gear происходит что то непонятное.
    Была задача внедрить форму из 3 шагов в тему (далеко не первый раз)
    На завершающем этапе создаю всегда шаблон новой страницы не привязанный к теме, то есть там идет тупо обработка данных POST формы в php и потом перенаправление на страницу типа «вы заполнили форму, до свидания»

    Именно в этой теме происходит следующее.
    Если мы стоим на сайте как админ, то данные отправляются, все нормально. То есть при print_r($_POST) переданные переменные вижу.
    Если я делаю в самых первых строка темплейта этой страницы любой вывод в браузер например echo ‘1212’; то я тоже вижу переменные массива $_POST, то в таком случае соотвественно не прокатывает header(«Location: … «)
    А вот если просто гость сайта и ничего в браузер не выводить то типа переменные не пришли.
    В чем может быть проблема?

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Проверил в теме, скачанной с сайта автора, простейший шаблон с формой:

    <?php
    /**
     * Template Name: Simple Form Test
     *
     */
    
    print_r($_POST);
    ?>
    <form action="" method="post">
    <input type="submit" name="submit" value="Submit" />
    <input type="hidden" name="key" value="1" />
    </form>

    Переменные отображаются в том числе и для гостя.

    1. Если вы скачивали тему с другого сайта, дайте ссылку.
    2. Если этот шаблон работает, а ваш — нет, приведите код.

    вот ссылка на тему сделала архив, а не работает файл thankyousend.php он как раз не принимает форму.. как будто слетает POST

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    require_once( ABSPATH . 'wp-config.php' );
    ...
    $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);

    А зачем повторно подключать WordPress? В момент обработки шаблона он уже загружен, а для запросов можно использовать $wpdb->query().

    Предполагаю, что причина именно в этом фрагменте, т.к. происходит повторное объявление функций, и выполнение останавливается.

    Не нашёл в файлах форму, которая отправляет данные в этот шаблон. Однако если в него добавить форму из примера выше, то после удаления строк, отвечающих за подключение wp-config.php и соединение с БД, содержимое $_POST также выводится и для гостя.

    убрала вообще все, оставила только

    require_once( ABSPATH . 'wp-config.php' );
    
    $errors = array ();
    if ($_POST['SID'] != "234"){
    	$errors [] = "Error SID";
    }

    этот подсчет ошибок если нет переданных переменных.. и все.. и они выводятся! то есть нет лишнего вобще.. только подключение файла конфигурации и эти ошибки если нет переменных..

    как будто работает что то — что не дает передать переменные до вывода в браузер

    о! все! проблему нашла!

    вся проблема была в публикации страниц.. страница на которую шел потом локейшн не была опубликована для гостей сайта.. и почему то вместо того чтобы сделать страницу 404, сайт просто тупо переагружал снова ту же страницу куда шел пост, но соответственно без переменных.. и получалось будто они терялись. На глаз это естественно заметить практически невозможно.
    Опубликовала страницу куда идет локейшн, убрала ее из меню, и все встало на свои места.. А нашла ошибку когда решила закомментить локейшн, и увидела что переменные есть

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «В теме в новом шаблоне страницы пропадают данные формы» закрыта для новых ответов.