У меня есть форма 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