使用MySQLi处理复选框时PHP未定义索引

使用MySQLi处理复选框时PHP未定义索引,php,html,arrays,forms,mysqli,Php,Html,Arrays,Forms,Mysqli,我有一些PHP代码,它使用MySQLi检查MYSQL数据库,并将所有“stock”类型输出到带有while语句的表单中: $result = mysqli_query($link,"SELECT name FROM items WHERE type='stock' ORDER BY name"); echo '<table style="text-align:center;"><tr><th>Name</th><th>Quantity&

我有一些PHP代码,它使用MySQLi检查MYSQL数据库,并将所有“stock”类型输出到带有while语句的表单中:

$result = mysqli_query($link,"SELECT name FROM items WHERE type='stock' ORDER BY name");
echo '<table style="text-align:center;"><tr><th>Name</th><th>Quantity</th><th>Use</th>';

while($item = mysqli_fetch_array($result)){

        echo '<tr><form action="chooseProduct" method="POST"><td>' . $item['name'] . '</td><td><input type="number" name="amount[]"></td><td><input type="checkbox" name="stock[]" value="' . $item['name'] . '"></td></tr>';

    }

echo '<tr><td rowspan="3" colspan="3"><input type="submit" value="Select"></td></tr></form></table>';
我得到的错误如下:

Notice: Undefined index: stock in C:\xampp\htdocs\production\chooseProduct\index.php on line 59

Notice: Undefined index: amount in C:\xampp\htdocs\production\chooseProduct\index.php on line 60

该复选框已被明确选中,那么是什么导致了此错误?

如果您尚未检查是否已执行POST操作,则在分配该操作时会出现警告/通知。 试一试


如果您尚未检查是否已执行POST操作,则将在分配该操作时发出警告/通知。 试一试


如果您尚未检查是否已执行POST操作,则将在分配该操作时发出警告/通知。 试一试


如果您尚未检查是否已执行POST操作,则将在分配该操作时发出警告/通知。 试一试



表单标记位于循环中。这将在您的页面上创建无效的打开表单。这几乎肯定会导致表单提交无效数据或根本不提交任何数据。将打开的
标记移到循环外部以解决此问题。

表单标记位于循环内部。这将在您的页面上创建无效的打开表单。这几乎肯定会导致表单提交无效数据或根本不提交任何数据。将打开的
标记移到循环外部以解决此问题。

表单标记位于循环内部。这将在您的页面上创建无效的打开表单。这几乎肯定会导致表单提交无效数据或根本不提交任何数据。将打开的
标记移到循环外部以解决此问题。

表单标记位于循环内部。这将在您的页面上创建无效的打开表单。这几乎肯定会导致表单提交无效数据或根本不提交任何数据。将开头的
标记移到循环之外以修复此问题。

什么是
var\u转储($\u POST)
显示?@johncode数组(0){}什么是
var\u转储($\u POST)
var\u转储($\u POST)什么是
var\u转储($\u POST){/code>显示?@johncode>var\u转储($\u POST){}什么是
var\u转储($\u POST){虽然这是一个很好的编程实践,但实际上并不能解决他们的问题。谢谢,先生:)。我已经尽力了,还是新手:)没关系。感谢您遵循良好的编程实践并努力帮助他人。:)虽然这是一个很好的编程实践,但实际上并不能解决他们的问题。谢谢,先生:)。我已经尽力了,还是新手:)没关系。感谢您遵循良好的编程实践并努力帮助他人。:)虽然这是一个很好的编程实践,但实际上并不能解决他们的问题。谢谢,先生:)。我已经尽力了,还是新手:)没关系。感谢您遵循良好的编程实践并努力帮助他人。:)虽然这是一个很好的编程实践,但实际上并不能解决他们的问题。谢谢,先生:)。我已经尽力了,还是新手:)没关系。感谢您遵循良好的编程实践并努力帮助他人。:)这肯定很有帮助,谢谢。不幸的是,它似乎无法解决问题。您的表单是否有结束标记?您确定HTML的其余部分有效吗?表单在最后一次回音中关闭。我已经仔细阅读了HTML,我确信它是有效的,因为它可以直观地输出我在页面上期望的内容。但是,我没有在表单中使用数组和复选框,所以我不确定是否在这里使用它。
var\u dump($\u POST)
是否仍然显示
array(0){}
?如果是这样的话,在某个地方仍然存在HTML错误。如果可以的话,我会尽量简化页面,看看这是否有帮助。是的,确实有帮助。没有任何地方可以简化页面,我知道页面上的其余代码工作正常,不应该干扰产生错误的代码。这绝对是有帮助的,谢谢。不幸的是,它似乎无法解决问题。您的表单是否有结束标记?您确定HTML的其余部分有效吗?表单在最后一次回音中关闭。我已经仔细阅读了HTML,我确信它是有效的,因为它可以直观地输出我在页面上期望的内容。但是,我没有在表单中使用数组和复选框,所以我不确定是否在这里使用它。
var\u dump($\u POST)
是否仍然显示
array(0){}
?如果是这样的话,在某个地方仍然存在HTML错误。如果可以的话,我会尽量简化页面,看看这是否有帮助。是的,确实有帮助。没有任何地方可以简化页面,我知道页面上的其余代码工作正常,不应该干扰产生错误的代码。这绝对是有帮助的,谢谢。不幸的是,它似乎无法解决问题。您的表单是否有结束标记?您确定HTML的其余部分有效吗?表单在最后一次回音中关闭。我已经仔细阅读了HTML,我确信它是有效的,因为它可以直观地输出我在页面上期望的内容。但是,我没有在表单中使用数组和复选框,所以我不确定是否在这里使用它。
var\u dump($\u POST)
是否仍然显示
array(0){}
?如果是这样的话,在某个地方仍然存在HTML错误。如果可以的话,我会尽量简化页面,看看这是否有帮助。是的,确实有帮助。没有任何地方可以简化页面,我知道页面上的其余代码工作正常,不应该干扰产生错误的代码。这绝对是有帮助的,谢谢。不幸的是,它似乎无法解决问题。您的表单是否有结束标记?您确定HTML的其余部分有效吗?表单在最后一次回音中关闭。我已经仔细阅读了HTML,我确信它是有效的,因为它可以直观地输出我在页面上期望的内容。但是,我没有在表单中使用数组和复选框,所以我不确定是否在这里使用它。
var\u dump($\u POST)
是否仍然显示
array(0){}
?如果有的话
Notice: Undefined index: stock in C:\xampp\htdocs\production\chooseProduct\index.php on line 59

Notice: Undefined index: amount in C:\xampp\htdocs\production\chooseProduct\index.php on line 60
$stock = isset($_POST['stock']) ? $_POST['stock'] : '';
$amount = isset($_POST['amount']) ? $_POST['amount'] : '';