gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 06:07:45 26 4
gpt4 key购买 nike

我有一个包含 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com