我试图掌握如何正确理解 POST 的工作原理,并决定制作一个生成 100 个复选框的小 PHP 程序,然后单击文档顶部的按钮,调用一个函数来循环所有复选框并说明它们是否被选中。但是,我实施它的方式似乎不起作用。
这是我在编写此脚本时所想的更循序渐进的过程,如果有人能告诉我我的想法中的缺陷,我将不胜感激。
在带有 的表单中创建一个按钮method=post。
在 PHP 中创建一个数组来存储所有复选框名称。
创建一个 for 循环。在循环的每次迭代中,都会创建一个格式为 的字符串,#checkbox因此每个复选框都有自己的唯一标识符。这些字符串中的每一个都存储在一个数组中。PHP 然后回显一个表单,method=post每个表单内都有一个复选框。每个复选框都有其唯一的名称。
checkFunction()创建每个复选框后,您可以通过单击调用该函数的按钮来查看每个复选框是否被选中。
在函数中,有一个foreach循环。此循环遍历数组中的每个元素以获取复选框名称,用于isset查看复选框是否已选中,如果选中则回显。
这对我来说似乎很简单,但无论出于何种原因,它似乎都不起作用。谁能解释为什么不呢?
<!DOCTYPE html>
<html>
<head>
<title>Checked Boxes</title>
</head>
<body>
<form method="post">
<input type="submit" name="submit_checked" class="button" value="Check if checkbox is checked"/>
</form>
<?php
$checkboxNames = array();
for ($x = 1; $x <= 100; $x++) {
$checkboxStr=$x."checkbox";
$checkboxNames[] = $checkboxStr;
echo "<form method=\"post\"><input type=\"checkbox\" name=\"$checkboxStr\" value=\"$checkboxStr\">$checkboxStr</form>";
}
echo("<hr>");
echo("<h2>Status of Checkboxes:</h2>");
function checkFunction(){
foreach ($checkboxNames as $currentName){
if (isset($_POST["$currentName"]))
echo("<p>$currentName is checked!</p>");
else
echo("<p>$currentName is not checked!</p>");
}
}
if(isset($_POST['submit_checked']))
checkFunction();
?>
</body>
</html>
杨魅力
RISEBY
繁花如伊
随时随地看视频慕课网APP