Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
联系表单7-无法运行php_Php_Wordpress_Plugins_Contact Form - Fatal编程技术网

联系表单7-无法运行php

联系表单7-无法运行php,php,wordpress,plugins,contact-form,Php,Wordpress,Plugins,Contact Form,我已经安装了WordPress和插件联系表单7 为了使其成为多页联系人表单,我还安装了联系人表单7多步骤表单。 到目前为止一切正常。甚至邮件也会被发送 我遇到的问题是,我想在发送电子邮件之前运行一些PHP代码 我插入这段代码是为了尝试插件运行它的能力 function testfunc( $cf7 ) { mysql_connect("localhost", "user_name", "password") or die(mysql_error()); mysql_select_

我已经安装了WordPress和插件
联系表单7

为了使其成为多页联系人表单,我还安装了
联系人表单7多步骤表单
。 到目前为止一切正常。甚至邮件也会被发送

我遇到的问题是,我想在发送电子邮件之前运行一些PHP代码

我插入这段代码是为了尝试插件运行它的能力

function testfunc( $cf7 )
{
    mysql_connect("localhost", "user_name", "password") or die(mysql_error());
    mysql_select_db("db_name") or die(mysql_error());
    mysql_query("CREATE TABLE `aaaaaaaaaaa` ( test VARCHAR(30))");
}

add_action( 'wpcf7_before_send_mail', 'testfunc', 1);
当我在插件之外的一个额外的php文件中运行该函数时,它甚至可以正常工作


现在我不明白为什么插入插件时函数不起作用了?

wordpress使用这种方式创建选项卡,而不是在php结构中创建connect:


使用wordpress中的全局
wpdb
对象以这种方式查询数据库

+瑞夫帕特尔1号

我只建议您在每次尝试创建表之前检查表是否存在

function testfunc( $cf7 )
{

    global $wpdb;

    $table_name = $wpdb->prefix . 'tablename';

    if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {

        $sql = "CREATE TABLE $table_name (
            id int(11) NOT NULL AUTO_INCREMENT,
            name varchar(255) DEFAULT NULL,
            UNIQUE KEY id (id)
        )";

        require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
        dbDelta( $sql );
    }
}

你检查过表
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
after
mysql\u query
。问题是我甚至没有收到来自服务器的任何响应。我没有得到任何回复,因为我在提交表单时正在wordpress中运行整个过程。参数$cf7是必需的吗?这可能就是问题所在。
function testfunc( $cf7 )
{
    global $wpdb;
    $wpdb->query("CREATE TABLE `aaaaaaaaaaa` ( test VARCHAR(30))");
}

add_action( 'wpcf7_before_send_mail', 'testfunc', 1);
function testfunc( $cf7 )
{

    global $wpdb;

    $table_name = $wpdb->prefix . 'tablename';

    if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {

        $sql = "CREATE TABLE $table_name (
            id int(11) NOT NULL AUTO_INCREMENT,
            name varchar(255) DEFAULT NULL,
            UNIQUE KEY id (id)
        )";

        require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
        dbDelta( $sql );
    }
}