表单未正确提交
Form Not Submitting Correctly
因此,每次 selection 更改时,我都试图使 select 元素更新 MYSQL 记录。但我成功触发 PHP 代码的唯一方法是通过输入按钮,而不是下面显示的。我需要能够通过不可见的输入提交来触发 PHP 代码。
重点是通过 select 元素而不是按钮更新 PHP 记录。
<form id="signin-form_id" class="panel" method="POST" style="margin-bottom: 0px;">
<div class="input-group">
<span class="input-group-addon">
Coin
</span>
<select class="form-control" name="cointype" onchange="this.form.submit()">
<option value="0" selected>Bitcoin</option>
<option value="1">Litecoin</option>
</select>
</div>
<noscript><input type="submit" name="ReferralCoin"></noscript>
</form>
提交按钮假设触发 PHP 中的 POST 事件,见此处:
不要评论 MYSQL 注入漏洞。
<?php
if (isset($_POST['ReferralCoin']))
{
$cointype = $_POST['cointype'];
if($cointype == "0")
{
$odb->exec("UPDATE users SET `coin` = '$cointype' WHERE `ID` = '$userid'");
}
elseif($cointype == "1")
{
$odb->exec("UPDATE users SET `coin` = '$cointype' WHERE `ID` = '$userid'");
}
}
?>
问题是如果我使用输入按钮它工作正常并触发 php POST 代码,但是当使用不可见的输入提交时它不会触发 PHP POST代码。如果有人能帮我找出错误,不胜感激!
您正在检查这里的提交按钮:
if (isset($_POST['ReferralCoin']))
但是,如果提交按钮未被点击(因为您是通过 JavaScript 代码提交表单),则它不会包含在 POST 值中。所以 $_POST['ReferralCoin']
没有设置。
您需要完全取消勾选,或勾选其他条件。 (比如是否设置了$_POST['cointype']
)
因此,每次 selection 更改时,我都试图使 select 元素更新 MYSQL 记录。但我成功触发 PHP 代码的唯一方法是通过输入按钮,而不是下面显示的。我需要能够通过不可见的输入提交来触发 PHP 代码。
重点是通过 select 元素而不是按钮更新 PHP 记录。
<form id="signin-form_id" class="panel" method="POST" style="margin-bottom: 0px;">
<div class="input-group">
<span class="input-group-addon">
Coin
</span>
<select class="form-control" name="cointype" onchange="this.form.submit()">
<option value="0" selected>Bitcoin</option>
<option value="1">Litecoin</option>
</select>
</div>
<noscript><input type="submit" name="ReferralCoin"></noscript>
</form>
提交按钮假设触发 PHP 中的 POST 事件,见此处: 不要评论 MYSQL 注入漏洞。
<?php
if (isset($_POST['ReferralCoin']))
{
$cointype = $_POST['cointype'];
if($cointype == "0")
{
$odb->exec("UPDATE users SET `coin` = '$cointype' WHERE `ID` = '$userid'");
}
elseif($cointype == "1")
{
$odb->exec("UPDATE users SET `coin` = '$cointype' WHERE `ID` = '$userid'");
}
}
?>
问题是如果我使用输入按钮它工作正常并触发 php POST 代码,但是当使用不可见的输入提交时它不会触发 PHP POST代码。如果有人能帮我找出错误,不胜感激!
您正在检查这里的提交按钮:
if (isset($_POST['ReferralCoin']))
但是,如果提交按钮未被点击(因为您是通过 JavaScript 代码提交表单),则它不会包含在 POST 值中。所以 $_POST['ReferralCoin']
没有设置。
您需要完全取消勾选,或勾选其他条件。 (比如是否设置了$_POST['cointype']
)