在执行SQL请求之后,我获得了一个包含数据列表的表单,每行的末尾都有复选框。目标是以下。如果用户选中其中一些,则在提交表单时,该行将在数据库中删除。
我将这样的复选框命名为SQL请求结果,因此我的Php脚本可以找到要删除的行:
<input type="checkbox" name="chk[<?echo '/'.'$t[datetr]'.'/'.'$t[beneficiaire]'.'/'.'$t[objet]'.'/'.'$t[montant]';?>]">
我的目标是将所有带有$ _POST的复选框值添加到我的Php脚本中。但是即使这样
foreach ($_POST as $key => $value) {
echo "<tr>";
echo "<td>";
echo $key;
echo "</td>";
echo "<td>";
echo $value;
echo "</td>";
echo "</tr>";
}
...我的PHP脚本似乎没有获取复选框值...我做错了吗?感谢帮助。
除了关于未与HTTP请求一起传递未选中的框的其他(完全准确的)注释之外,实际的PHP还有一些问题。
<?echo '/'.'$t[datetr]'.'/'.'$t[beneficiaire]'.'/'.'$t[objet]'.'/'.'$t[montant]';?>
首先,您的回声是错误的;这大概应该是<?php echo
或<?=
不是<?echo
(虽然可能工作很短的开始标记启用)。
其次,PHP中的撇号是非插值字符串文字(即,'$t[objet]'
在字面上将其视为字符串'$t[objet]'
而不是变量)。
最后,假设$t
是一个数组,则您的关联索引需要带引号,否则它们将被解释为常量-这很可能会引发错误。
我想你想要的可以写成:
<?= "/{$t['datetr']}/{$t['beneficiaire']}/{$t['objet']}/{$t['montant']}"; ?>
整理好之后,$_POST['chk']
数据应该正确设置,并且将成为您期望的关联数组。
然后,一个foreach($_POST['chk'] as $key => $value) { ... }
循环应该起作用了……不过,当然,您的输入目前都没有实际值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句