所以我在第 2 页上有一个动态表,用户可以在其中添加任意数量的条目。提交 3 页后得到所有信息就好了。问题是我通过数组的for循环迭代不起作用。这是代码:
for($i = 0; $i < sizeof($_POST["fname_new"]); $i++) {
$fname_new = $_POST["fname_new"][i];
$lname_new = $_POST["lname_new"][i];
$phone_new = $_POST["phone_new"][i];
$email_new = $_POST["email_new"][i];
$ethnicity_new = $_POST["ethnicity_new"][i];
$stmt = $link -> prepare("INSERT INTO Conference (`First Name`, `Last Name`, `Phone`, `Email`, `Ethnicity`) VALUES (:first_new, :last_new, :phone_new, :email_new, :ethnicity_new)");
$stmt->bindParam(':first_new', $fname_new);
$stmt->bindParam(':last_new', $lname_new);
$stmt->bindParam(':phone_new', $phone_new);
$stmt->bindParam(':email_new', $email_new);
$stmt->bindParam(':ethnicity_new', $ethnicity_new);
$stmt->execute();
}
所以当我这样做的时候
echo sizeof($_POST["fname_new"]);
它向我显示了正确的数字,因此如果用户在第 2 页上添加了 3 行,那么回显的值应该是 3,就是这样。当我做:
echo $_POST["fname_new"][0];
然后它适当地给出第一行的名字。我可以用任何数字替换 0,只要它在界限内,并且它是正确的。但由于某种原因,当我这样做时
echo $_POST["fname_new"][i];
它不打印任何东西。我不知道为什么这个 for 循环不起作用。逻辑上是正确的。有任何想法吗?