• Доброго времени суток)
    Прошу помощи в одном казалось бы легком вопросе, но почему то я так и не смог его решить(((
    На сайте использую CF7(Storage тоже стоит) версии 4.5.1 У меня создана форма, заполнив форму и нажав сабмит пользователь попадает на другую страницу, на которой я ему предлагаю ему внести оплату. Так вот, как мне получить данные с предыдущей формы?
    Массив $_POST на второй странице пустой
    action в form поменял фильтром wpcf7_form_action_url :
    add_filter(‘wpcf7_form_action_url’, ‘wpcf7_custom_form_action_url’);
    function wpcf7_custom_form_action_url($url)
    {
    global $post;
    $id_to_change = 232;
    if($post->ID === $id_to_change)
    return get_permalink(71);
    else
    return $url;
    }
    Но массив POST все равно пустой..
    Может есть какой метод у самого CF7 ??
    я не могу решить самостоятельно(( и найти в интернете тоже не могу((
    может я не вижу очевидного?
    Подскажите как это правильно решается
    Спасибо 🙂

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • эх…
    Второй раз задаю здесь вопрос и ответа нет..

    жаль(((

    Модератор Yuri

    (@yube)

    и ответа нет..

    Бывает. Видимо никто из тех, кто тут отвечает вопросы, никогда ничего подобного не делал. Да и ломать глаза об неоформленный код не всем охота 😉

    Извиняюсь за не оформленный код конечно, учту и приму к сведению))

    Это всего лишь смена action в form CF7

    add_filter(‘wpcf7_form_action_url’, ‘wpcf7_custom_form_action_url’);
    function wpcf7_custom_form_action_url($url)
    {
    global $post;
    $id_to_change = 232;
    if($post->ID === $id_to_change)
    return get_permalink(71);
    else
    return $url;
    }

    и не факт что ссылка правильная, т.к. она не содержит конечного файла(file.php) а выглядит примерно так h***s:// sait/ctranica

    как в wordpresse передать данные формы по нажатию кнопки submit методом POST определенной странице? (форма сделана cf7)

    Мне кажется все должны были с этим столкнуться)) и использовать)

    Модератор Yuri

    (@yube)

    не содержит конечного файла(file.php) а выглядит примерно так h***s:// sait/ctranica

    Все верно. Это же url, а не файл.

    как в wordpresse передать данные формы по нажатию кнопки submit методом POST определенной странице?

    По нажатию кнопки данные передает браузер.
    <form method="post" action="нужная страница">
    wordpress может только обработать полученный запрос. Или проигнорировать.

    Мне кажется все должны были с этим столкнуться)) и использовать)

    Что? Предлагать внести оплату? 🙂

    Большинству хватает аяксного сообщения «спасибо».

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

    Помнится мне, у CF7 была настройка «submit page», но я ее давно не видел.

    Вот
    <form method="post" action="нужная страница">
    Все правильно)
    А на «нужной странице» из массива $_POST получаем данные формы: (ну должны!)
    <?php echo $_POST['name']?> //Вася
    Которые ввел пользователь в форме.

    я всего лишь хочу в форме оплаты подставить его фамилию и стоимость оплаты зависящую от услуги которую он выбрал(т.е. формы 2-е сначала он заполняет свою форму, а потом попадает на форму оплаты, на второй странице)
    но массив $_POST пуст! что меня огорчает((

    У меня есть несколько вариантов:
    1- не правильный action в form!
    2- cf7 имеет свои массивы и методы про каторые мне не известно
    3- WP имеет сои массивы и методы
    4- …

    или я не так чтото делаю? action содержит url — это нормально?

    Как на правильно странице(post) WP выводить код php? например (<?php echo ‘привет’?>)
    установил для ютого insert-PHP
    но меня терзают сомнения что это не безопасно(( для сайта

    Спасибо за ответы)))

    Модератор Yuri

    (@yube)

    1. Убедитесь, что по сабмиту переходит на правильную страницу.
    2. В шаблон правильной страницы вставьте
    <?php print_r($_POST); ?>
    и посмотрите, какие параметры переданы.
    Я бы еще убедился, что CF7 делает то, что от нее ожидают — сабмит формы на указанной странице, а не редирект после аяксного сабмита формы.

    И никогда ни прямо, ни косвенно не используйте зарезервированные имена.
    https://codex.wordpress.org/Reserved_Terms

    Доброе утро))
    Спасибо за ответы

    Я немного не понимаю как правильно в шаблон страницы можно вставить php код, ведь страница создана из админки WP и как отдельный файл(страница.php) не существует.
    Есть только ID (71) Если вставлять его с самой админки(на странице), то он не выполняется без спец плагинов.
    Или все же использовать для этого плагин? insert_php? но вопрос безопасности остается открытым(((
    Вот как раз с использованием insert_php я выводил массив $_POST он был пуст((

    Возможно вы правы по поводу CF7 и он делает простой редирект((
    Завтра постараюсь проверить, и если решу этот вопрос обязательно отпишусь)

    Модератор Yuri

    (@yube)

    Я немного не понимаю как правильно в шаблон страницы можно вставить php код,

    Создание собственных шаблонов страниц

    Мне кажется все должны были с этим столкнуться)) и использовать)

    я вообще не использую этого монстра, поскольку ЭТО просто ужасно в реализации.
    так что вам действительно, просто кажется.

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Тема «Contact Form 7 $_POST» закрыта для новых ответов.