首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提交后联系form7数据插入到不同数据库表中

提交后联系form7数据插入到不同数据库表中
EN

Stack Overflow用户
提问于 2018-09-01 14:17:41
回答 2查看 1.1K关注 0票数 4

我的wordpress网站。我想自动发送联系人表7的值到不同的数据库表。例如,一个是wordpress数据库表,另一个是php数据库表。我如何解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2018-09-01 14:37:00

按照以下步骤,在functions.php中添加代码:

1)在您的自定义数据库中创建自定义表

代码语言:javascript
复制
 CREATE TABLE candidate(
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(50)
);

2)创建联系人表单7字段

代码语言:javascript
复制
[text* title]
[submit "Send"]

3)将以下代码添加到function.php

代码语言:javascript
复制
  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();
    $title = $formData['title'];

    /************* Insert in wordpress database ***********/
    $wpdb->insert( 'candidate', array( 'title' =>$title ), array( '%s' ) );

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

    // 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' );
票数 2
EN

Stack Overflow用户

发布于 2018-09-01 14:38:21

将以下代码添加到function.php文件中。

代码语言:javascript
复制
function custom_db_wpcf7_before_send_mail($form7_data) {
    //set your database details
    $custom_db = new wpdb('user','password','custom_db','host');

    $form7_data = WPCF7_Submission::get_instance();
    if ($form7_data) 
        $post_data = $form7_data->get_posted_data();
        $title = $post_data['title'];
        $custom_db->insert('custom_table', array('field' => $value), array( '%s' ));
    }
    remove_all_filters('wpcf7_before_send_mail');
    add_action('wpcf7_before_send_mail', 'custom_db_wpcf7_before_send_mail' );
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52125439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档