首页 > 解决方案 > 发布数据的问题

问题描述

我正在尝试使用 post 方法将数据从表单插入到 Wordpress 数据库。在插入之前(代码将转到注释所在的位置)我正在尝试将结果打印到屏幕上。当我测试我的代码以从表单中收集这些数据时,由于某种原因,它仅在一个字段上出错。其他人正确发布,所以我有点茫然。下面是代码:

global $mydb;
echo '<form name="newProducts" method="post">';
$output = "<div>";
// array of column names
$table_name = $mydb->prefix . '`my-table-names`';
foreach ( $mydb->get_col( "DESC " . $table_name, 0 ) as $column_name ) {
        if($column_name!='id'){
          $table_name = $mydb->prefix . '`my-table-names`';
           $field_name = $column_name;
           $getSpecColNameOne = $mydb->get_var($mydb->prepare( "SELECT {$field_name} FROM {$table_name} WHERE id=%d", 0));
           $output .= '<div>';
           $output .= '<div>' . $getSpecColNameOne . '</div>';
           $output .= '<div><input name="' . $column_name . '" type="text" value=""></div>';
           $output .= '</div>';
        }   
}

$output .= '</div>'; 
echo $output;
    $_POST = array_map( 'stripslashes_deep', $_POST );
    echo '<div class="btnWrapper">';
    echo '<input class="btn border-width-0 btn-text-skin btn-color-jevc btn-square btn-icon-left adduserBtn" type="submit" name="btnSubmit">';
echo '</form>';

if ($_POST) {

    $skipKeys = array(
                    'btnSubmit',
                    'id',
                 );

foreach($_POST as $key =>$value){

        if(!in_array($key,$skipKeys)){
            ///insert into db here////////
            echo '</br>';
            echo"Key:"; 
            print_r ($key);
            echo '</br>';
            echo"value:"; 
            print_r ($value);
        }
    }
}

如果我不填写 column_1,我得到的输出如下所示:

Key:column_1
value:
Key:column_2
value:Input Test 2
Key:column_3
value:Input Test 3

但是,如果我将数据填写到 column_1 输入字段中,则会出错,我会被重定向到 404 页面。

column_1 html 输出看起来不错:

<input name="column_1" type="text" value="">

任何想法表示赞赏。

标签: php

解决方案


推荐阅读