gpt4 book ai didi

php - WordPress Form php代码提交空白值

转载 作者:行者123 更新时间:2023-11-29 12:19:46 25 4
gpt4 key购买 nike

此代码应该在发布输入时检查用户是否登录,如果是,则检查 ItemID 和 User ID 是否已在表中包含条目,如果是,则更新该条目而不是创建重复项。

这是我需要的输出:

+--------+-------+----------+
| ItemID | Price | user |
+--------+-------+----------+
| 1 | 20 | 27 |
+--------+-------+----------+

这就是我得到的:

+--------+-------+----------+
| ItemID | Price | user |
+--------+-------+----------+
| 0 | 0 | 27 |
+--------+-------+----------+
<小时/>

如果需要的话,这里是完整的功能:http://pastebin.com/W0UM68UT

if ( is_user_logged_in() ) {

$hf_user = get_current_user_id();
$hf_username = $hf_user->user_login;
global $quanid;
$inputValue = isset($_POST[$quanid]);
global $newdb;
$newdb = new wpdb( 'user', 'pass', 'db', 'localhost' );
$retval = $newdb->get_results("SELECT * FROM $table WHERE ItemID = '$quanid' AND user = '$hf_username' ");

if($retval > 0)
{
//If user exists, update
$newdb->replace($table,array(
'ItemID' => '$quanid',
'Price' => $inputValue,
'user' => $hf_username
)
);
}
else
{
global $table;
global $newdb;
$newdb->insert(
$table,
array(
'ItemID' => $quanid,
'Price' => $inputValue,
'user' => $hf_username
)
);
}



} else {
global $error;
$error = "Error: You must be logged in to submit prices";
return;
}


}

最佳答案

不要使用全局变量...

How to avoid using PHP global objects?

将 SELECT 语句更改为计数以获得更好的性能:

SELECT count( 1 ) FROM $table WHERE ItemID = '$quanid' AND user = '$hf_username'

关于你的问题:

看来您的 global $quanid;isset($_POST[$quanid]); 返回了意外的值,因此您应该看看它们的设置位置。尝试使用:

var_dump 就在这两行下面:

global $quanid;
$inputValue = isset($_POST[$quanid]);
var_dump( $quanid );
var_dump( $inputValue );
var_dump( $_POST);
die;

关于php - WordPress Form php代码提交空白值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29200563/

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