未使用functions.php中的代码插入自定义表中的数据

未使用functions.php中的代码插入自定义表中的数据,php,html,wordpress,Php,Html,Wordpress,我在WordPress中有一个自定义HTML表单,它将数据插入到自定义表中。我在functions.php文件中编写了插入数据的代码 HTML代码如下所示: <form id="regForm" method="POST" action=""> function xx_data_insert() { session_start(); require_once "wp-load.php"; require_once "dbconfig.php"; gl

我在WordPress中有一个自定义HTML表单,它将数据插入到自定义表中。我在functions.php文件中编写了插入数据的代码

HTML代码如下所示:

<form id="regForm" method="POST" action="">
function xx_data_insert() {
    session_start();
    require_once "wp-load.php";
    require_once "dbconfig.php";
    global $wpdb, $current_user;

    $current_user = wp_get_current_user();
    $table_name = 'xx_table';

    //Form variables defined too many to add here
    //insert statement
    $flag = $wpdb->query( $wpdb->prepare(
        (field1,field2,field3) VALUES(%s,%s,%s)",
        $field1, 
        $field2, 
        $field3
    ));

    if ($flag) {
        echo "<script>";
        echo " alert('Data saved successfully');
            window.location.href='".site_url('http://xxx/xxx')."';
            </script>";
        exit();
    }

    if( isset($_POST['submit']) ) xx_data_insert();

我的PHP函数如下:

<form id="regForm" method="POST" action="">
function xx_data_insert() {
    session_start();
    require_once "wp-load.php";
    require_once "dbconfig.php";
    global $wpdb, $current_user;

    $current_user = wp_get_current_user();
    $table_name = 'xx_table';

    //Form variables defined too many to add here
    //insert statement
    $flag = $wpdb->query( $wpdb->prepare(
        (field1,field2,field3) VALUES(%s,%s,%s)",
        $field1, 
        $field2, 
        $field3
    ));

    if ($flag) {
        echo "<script>";
        echo " alert('Data saved successfully');
            window.location.href='".site_url('http://xxx/xxx')."';
            </script>";
        exit();
    }

    if( isset($_POST['submit']) ) xx_data_insert();
函数xx_数据_插入(){
会话_start();
需要一次“wp load.php”;
需要_一次“dbconfig.php”;
全局$wpdb,$current_用户;
$current_user=wp_get_current_user();
$table_name='xx_table';
//定义的表单变量太多,无法在此处添加
//插入语句
$flag=$wpdb->query($wpdb->prepare)(
(字段1、字段2、字段3)值(%s、%s、%s)”,
$field1,
$2,
$field3
));
如果($flag){
回声“;
echo“警报('数据保存成功');
window.location.href='”.site\u url('http://xxx/xxx')."';
";
退出();
}
如果(isset($_POST['submit'])xx_data_insert();
单击submit按钮时,没有错误。页面只是刷新。如何检查代码是否进入if语句?是否有陷阱

David

$flag=$wpdb->query($wpdb->prepare( (字段1、字段2、字段3)值(%s、%s、%s)”, $field1, $2, $field3 )))


检查此(字段1、字段2、字段3)值(%s,%s,%s)“,起始引号丢失了

你有完整的表单吗?不仅仅是开始标签吗?是的,我有一个完整的表单。我只是认为这是最相关的部分。@Maxime-
functions.php
是一个文件,它将包含在WP中的所有页面请求中,因此你不需要专门发布到该文件。“如何检查代码是否进入if语句?”-您是否检查了数据库以查看是否插入了任何内容?您还可以在if语句中输入:
echo'Foo';exit;“
。如果您提交表单并看到“Foo”“在屏幕中,if语句起作用。您还应该为完整表单添加代码。@david'Lima完整表单-至少其开头、结尾和提交部分是相关的。”。