wpcf7_before_send_mail сохранить в базе данных и перенаправить - PullRequest
0 голосов
/ 05 марта 2019

У меня есть форма cf7, и я хочу сохранить данные в sql и других API, но на следующем шаге я хочу перенаправить моих пользователей.Я не знаю, как я могу поймать событие, потому что мои сценарии сохранения php повесили все формы.За все время я вижу загрузчик, после нажатия «отправить».

И как я могу использовать этот скрипт только для одной формы.Я пытаюсь добавить действие, если formid == 'id', но это не работает для меня.

Извините за мой английский, но я польский лук.:)

      function contactform7_before_send_mail( $form_to_DB ) {
    //set your db details
    global $wpdb;

    $form_to_DB = WPCF7_Submission::get_instance();
    if ( $form_to_DB ) 
        $formData = $form_to_DB->get_posted_data();
    $name = $formData['your-name'];
    $surname = $formData['your-surname'];
    $email = $formData['your-email'];
    $phone = $formData['telefon'];
    $pesel = $formData['pesel'];

    /************* Insert in wordpress database ***********/
    $wpdb->insert( 'wniosek', array( 'name' =>$name, 'surname' =>$surname, 'email' =>$email, 'phone' =>$phone, 'pesel' =>$pesel), array( '%s' ) );

    /************ For Php Mysql Database (Create connection first) ********/
    $servername = "xxx";
    $username = "xxx";
    $password = "xxx";
    $dbname = "xxx";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 

    $sql = "INSERT INTO MyGuests (title)
    VALUES ($title)";

    if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

    $conn->close();   

}
remove_all_filters ('wpcf7_before_send_mail');
add_action('wpcf7_before_send_mail', 'contactform7_before_send_mail');  

Код перенаправления JS: https://codepen.io/mowmidomi/pen/NJRErY

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...