【发布时间】:2018-09-30 10:07:48
【问题描述】:
美好的一天! 我目前在使用复选框和隐藏字段插入值时遇到问题。非常感谢任何提示或解决方案。
所以我的问题是:我有一个只有复选框的表单和一个提交按钮,如果我选中复选框中的一个值,则会显示隐藏的上传字段,隐藏的值必须连接到所选的值在复选框中。如何将隐藏值插入数据库中相应的复选框值。例如
HTML:
<label class="form-check-label">
<input class="form-check-input" name="value[]" type="checkbox" value="Venue">
Value 1
<div id="hidden_fields">
This is hidden: <input type="text" id="hidden_one" name="hidden_one[]">
</div>
</label>
<br>
<label class="form-check-label">
<input class="form-check-input" name="value[]" type="checkbox" value="Venue">
Value 2
<div id="hidden_fields">
This is hidden: <input type="text" id="hidden_one" name="hidden_one[]">
</div>
</label>
<br>
PHP:(更新)这就是我现在所拥有的。当我不选中第一个复选框时。第二个复选框中的 hidden_one 没有插入
foreach($_POST['value'] as $key=>$value ){
$hidden_one = $_POST["hidden_one"][$key];
$sql = "INSERT INTO sample (value, hidden_one) VALUES ('$value','$hidden_one')";
$result = mysqli_query($connection, $sql);
}
如果我检查值 1 并在隐藏表单中输入 sample1,我检查值 2 并在隐藏表单中输入 sample2。样本 1 必须与值 1 位于同一列,样本 2 必须与值 2 位于同一列。它没有正确插入
更新:
所以我把代码改成了这个
foreach($_POST['value'] as $key=>$value ){
$hidden_one = $_POST["hidden_one"][$key];
但问题有时是它没有正确插入。有时 hidden_one 在数据库中为空。我现在真的迷路了。在其他地方找不到解决方案。
我看到一个模式,当我跳过一个复选框时,我检查 value1 然后跳过 value2 然后检查 value3。 value3 hidden 未插入。仍然没有解决:(哈哈,这让我发疯了。在戒烟的边缘。哈哈
【问题讨论】:
-
您能否分享您的
var_dump($_POST),以便我们确定发送的数据正确无误? -
@AdlanArifZakaria 用 var_dump 的图片链接编辑了帖子
-
看来你应该改为
foreach ($_POST["truevalue"] as $key => $value) -
@AdlanArifZakaria 尝试更改它。给了我错误。更正我在 var_dump 中的帖子。它应该是 ($_POST["truevalue"] as $key => $truevalue)。仍然没有正确插入:(总是插入真值问题是隐藏的。有时它似乎没有出现在数据库中
-
对不起,我现在对你的 var_dump 很满意,因为我认为它正在循环。你能在
<?php之后直接var_dump();die;吗?并且不要发送屏幕截图。请复制并粘贴结果。