Php Can';t通过$\u POST访问阵列
我有以下html代码:Php Can';t通过$\u POST访问阵列,php,mysql,Php,Mysql,我有以下html代码: <form method="post" action="arrayplay.php"> <input type="checkbox" value="1" name="todelete[]"/> <input type="checkbox" value="2" name="todelete[]"/> <input type="checkbox" value="3" name="todelete[]"/> <input t
<form method="post" action="arrayplay.php">
<input type="checkbox" value="1" name="todelete[]"/>
<input type="checkbox" value="2" name="todelete[]"/>
<input type="checkbox" value="3" name="todelete[]"/>
<input type="checkbox" value="4" name="todelete[]"/>
<input type="submit" value="delete" name="delete"/>
</form>
以及以下PHP脚本:
//arrayplay.php
foreach ($_POST['todelete'] as $id)
{
echo $id . "<br/>";
}
?>
foreach($\u POST['todelete']作为$id)
{
echo$id。“
”;
}
?>
它应该回显每个元素的值,但是我得到了一个错误。我真的很沮丧。如果我使用:
<form method="post" action="arrayplay.php">
<?php
$dbc= //connection
$query = "SELECT * FROM email_list";
$result = mysqli_query($dbc, $query);
while ($row = mysqli_fetch_array($result)) {
echo '<input type="checkbox" value="' . $row['id'] . '" name="todelete[]" />';
echo $row['first_name'];
echo ' ' . $row['last_name'];
echo ' ' . $row['email'];
echo '<br />';
}
mysqli_close($dbc);
?>
<input type="submit" name="submit" value="Remove" />
</form>
它工作得非常好!为什么?第一个(硬编码html)保存的值与从数据库检索它们的值完全相同。我很难理解如何使用$\u POST从数组中检索值。为什么name=foo[]创建数组?它是关联数组还是数字数组?对于所有的问题,我很抱歉,我真的准备好了。如果您只是将输入命名为foo,它将只得到一个值。由于方括号通常用于数组,
foo[]
是如何在html表单中表示数组的。当然,在PHP方面,您只需将其称为foo
,正如您从工作示例中所了解的那样。我已经测试了这一点,它应该可以工作:
<?php
if ($_POST['delete']) {
foreach ($_POST['todelete'] as $id) {
echo $id.' selected<br />';
}
}
?>
<form method="post" action="arrayplay.php">
<input type="checkbox" value="1" name="todelete[]"/>
<input type="checkbox" value="2" name="todelete[]"/>
<input type="checkbox" value="3" name="todelete[]"/>
<input type="checkbox" value="4" name="todelete[]"/>
<input type="submit" value="delete" name="delete"/>
</form>
如果您仍然有问题,您可以尝试:
<?php
if ($_POST['delete']) {
for ($i = 0; $i < 4; $i++) {
if (isset($_POST['todelete'][$i])) {
echo $_POST['todelete'][$i].' selected<br />';
}
}
}
?>
<>代码>你得到什么错误信息?也考虑到当我们提到一个错误,但没有提供和/或具体描述时,我们会感到沮丧。错误是什么?有错误消息吗?我收到一个错误
。请详细说明…如果有疑问,var_将转储变量。输出是什么?请注意,只有选中复选框,才会在$\u POST中传递这些复选框。