php - Wordpress:使用 get_current_user_id() 结果以 HTML 形式进入我的数据库表

标签 php mysql wordpress phpmyadmin

我有一个包含 HTML 表单的插件,该表单将 POST 数据发送到数据库表。 除了一件事,它工作得很好。登录用户的 ID 未发送到数据库表。我认为这可能是我的 IF 语句,就在此处的第 2 步之前。我已经改变了很多次,但没有任何结果。我所知道的是,此 if 语句适用于 GET 请求,它实际上确实为您提供了用户 ID,但显然不适用于 POST 请求。

    function ml_install() {
 // #1 CREATE TABLE
    global $wpdb;
    // creates ml_char in database if not exists
    $table = $wpdb->prefix . "ml_char"; 
    $charset_collate = $wpdb->get_charset_collate();
    $sql = "CREATE TABLE IF NOT EXISTS $table (
        `wp_id` mediumint(9) NOT NULL,
        `char_id` mediumint(9) NOT NULL AUTO_INCREMENT,
        `name` text NOT NULL,
    UNIQUE (`char_id`)
    ) $charset_collate;";
    require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
    dbDelta( $sql );
    // starts output buffering
    ob_start();
     if ( is_user_logged_in() ) { 
        $wpid = get_current_id();
    }
// #2 CREATE HTML FORM
    ?>
    <form action="#ml_form" method="post" id="ml_form">
        <input type="hidden" name="wp_id" value="<? echo $wpid; ?>"/>
        <input type="text" name="character_name" id="character_name" />
        <input type="submit" name="submit_form" value="submit" />
    </form>
    <?php
    $html = ob_get_clean();
// #4 INSERT FORM DATA INTO DB
    if ( isset( $_POST["submit_form"] ) && $_POST["character_name"] && $_POST["wp_id"] != "" ) {
        $table = $wpdb->prefix."ml_char";
        $name = strip_tags($_POST["character_name"], "");
        $wpdb->insert( 
            $table, 
            array( 
                'name' => $name,
                'char_id' => $wp_id
            )
        );
        $html = "<p>Greetings <strong>$name</strong>, and welcome to Hyreath.</p>";
    }

最佳答案

在执行 sql 查询时,您需要在查询参数数组中传递第三个参数 :) 看起来您忘记了这一点 :)

关于php - Wordpress:使用 get_current_user_id() 结果以 HTML 形式进入我的数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40323206/

相关文章:

php - 在 Laravel 中给老师分配成绩(类(class))和科目(多对多)

php - 将数组内爆为字符串以创建 sql 查询

phpmailer 在美国东部时间下午 2 点之前的 12 月 4 日开始工作

php - 我如何处理我的 MySQL 数据库中的撇号导致我的查询中断?

android - 这两种说法有什么区别?

MySQL 将两张表合二为一

wordpress - 我可以将现有的 html 主页谷歌分析代码添加到新的 wordpress 主页吗?

css - block 级自关闭 anchor 标记无法正常工作

javascript - 强制使用 define ('CONCATENATE_SCRIPTS' , false);突然间

php - Foreach 仅返回数组的第一个值