-1

好吧,伙计们,问这个问题很简单,但我自己,我在寻找答案时遇到了问题,我非常需要这个......

问题是:

我在 (donate/index.php) 中有以下功能

函数提交的数量(){全局$db,$user,$auth,$template,$current_dir;全局 $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;

    include ($phpbb_root_path . 'includes/functions_user.' . $phpEx);
    include ($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
    include_once ($phpbb_root_path . 'donate/functions_donate.' . $phpEx);

    $submitted_amount = (isset($_POST['submitted_amount'])) ? true : false;

    $sql = 'UPDATE ' . DONATION_TABLE . "
            SET config_value = '" . $submitted_amount . "'
            WHERE config_name = 'submitted_amount'";

    $result = $db->sql_query($sql);

}

page_header($user->lang['DONATE_EXPLAIN'], false);

提交的金额();

$template->set_filenames(array('body' => 'donate/index_body.html'));

?>

现在文件:(styles/prosilver/template/donate/index_body.html)

它有以下行

< input type='text' name='submitted_amount' id='submitted_amount' value='' size="25" tabindex="1" maxlength='9' class='inputbox_d' align="top">

<form action='{U_DONATE_CONFIRM}' method='post'>

< input type='submit' class="button1" name='submit' value='{L_SUBMIT}'>

如果您需要更多说明,请告诉我。我向您展示了我的代码的 HTML 和 PHP 之间所有可能的联系。数据库列在那里,那我的问题是什么?

4

1 回答 1

1

首先:

$submitted_amount = (isset($_POST['submitted_amount'])) ? true : false;

这不应该是 的价值submitted_amount吗?它只会是trueor false

快速解决方法是更改true​​为$_POST['submitted_amount'],但是除非您在其中的某处添加一些变量检查,否则您将对 SQL 注入敞开大门。

于 2010-10-16T00:25:36.917 回答