我的目标是处理未知数量的名称(介于2到8之间)并以一种良好的方式格式化它。
名称的数量因用户而异。因此,一个用户将看到4个名称,另一个用户将只看到2个名称。
我将展示一个有三个名字的例子。
<input type="checkbox" name="inuser[]" id="u1" value="Floris" /><label for="u1">Floris</label>
<input type="checkbox" name="inuser[]" id="u2" value="Rosa" /><label for="u2">Rosa</label>
<input type="checkbox" name="inuser[]" id="u3" value="Lotte" /><label for="u3">Lotte</label>
假设罗莎的复选框被选中。我不想把罗莎放在桌子上。
假设罗莎和弗洛里斯被检查过。现在我想储存“弗洛里斯和罗莎”
假设三个都检查过了。比我想储存“弗洛里斯,罗莎和洛蒂”
我对阵列没那么有经验。所以这对我来说是个无法解决的问题。
我试着通过阅读教程来解决这个问题,但我需要有人帮我一把。
让我试着解释为什么名字的数量是可变的。。。学生可以在网站上登录学校项目活动。他们分组工作,但人数不同。所以每个“项目”都会有不同数量的学生在做。
当他们记录一个活动时,可以检查执行该活动的学生,服务器应将其转换为字符串(例如:“Floris、Rosa和Lotte”),并将其存储在日志表中。因此,稍后服务器将能够检索日志信息(什么、何时、谁等)
请随意纠正我糟糕的英语。我来自荷兰。
最佳答案
下面是另一个可能有用的代码示例:
<?php
if(isset($_POST['inuser'])){
foreach($_POST['inuser'] as $name){
echo $name . "<br />";
}
}else{
$array = array("Floris", "Rosa", "Lotte");
$i = 1;
echo '<form action="test.php" method="post" name="names">';
foreach($array as $name){
echo '<input type="checkbox" name="inuser[]" id="u' . $i . '" value="' . $name . '" /><label for="u' . $i . '">' . $name . '</label>';
$i++;
}
echo '<input type="submit" name="Submit" value="Submit" /></form>';
}
?>
关于php - 如何使用PHP处理可变数量的复选框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6499693/