因此,我想从我所有的复选框中创建一个数组,然后再检查是否选中了它们。 目前,我正在尝试以下方式,但这种方式不起作用:
<?php
$napok[] = $_POST['napok[]'];
isset($_POST['napok[0]'])
?>
<form class="asd" id="checkbox" action="index.php" method="post">
<table>
<thead>
<tr>
<th></th>
<th>1.</th>
<th>2.</th>
<th>3.</th>
<th>4.</th>
<th>5.</th>
<th>6.</th>
</tr>
</thead>
<tbody>
<tr>
<th>Hétfő</th>
<td><input type="checkbox" id="he1" onclick="checkingFunction(this)" name="napok[]"><label id="he1" for="he1">40</label></td>
<td><input type="checkbox" id="he2" onclick="checkingFunction(this)" name="napok[]"><label id="he2" for="he2">40</label></td>
<td><input type="checkbox" id="he3" onclick="checkingFunction(this)" name="napok[]"><label id="he3" for="he3">40</label></td>
<td><input type="checkbox" id="he4" onclick="checkingFunction(this)" name="napok[]"><label id="he4" for="he4">40</label></td>
<td><input type="checkbox" id="he5" onclick="checkingFunction(this)" name="napok[]"><label id="he5" for="he5">40</label></td>
<td><input type="checkbox" id="he6" onclick="checkingFunction(this)" name="napok[]"><label id="he6" for="he6">40</label></td>
</tr>
<tr>
<th>Kedd</th>
<td><input type="checkbox" id="ke1" onclick="checkingFunction(this)" name="napok[]"><label id="ke1" for="ke1">40</label></td>
<td><input type="checkbox" id="ke2" onclick="checkingFunction(this)" name="napok[]"><label id="ke2" for="ke2">40</label></td>
<td><input type="checkbox" id="ke3" onclick="checkingFunction(this)" name="napok[]"><label id="ke3" for="ke3">40</label></td>
<td><input type="checkbox" id="ke4" onclick="checkingFunction(this)" name="napok[]"><label id="ke4" for="ke4">40</label></td>
<td><input type="checkbox" id="ke5" onclick="checkingFunction(this)" name="napok[]"><label id="ke5" for="ke5">40</label></td>
<td><input type="checkbox" id="ke6" onclick="checkingFunction(this)" name="napok[]"><label id="ke6" for="ke6">40</label></td>
</tr>
<tr>
<th>Szerda</th>
<td><input type="checkbox" id="sze1" onclick="checkingFunction(this)" name="napok[]"><label id="sze1" for="sze1">40</label></td>
<td><input type="checkbox" id="sze2" onclick="checkingFunction(this)" name="napok[]"><label id="sze2" for="sze2">40</label></td>
<td><input type="checkbox" id="sze3" onclick="checkingFunction(this)" name="napok[]"><label id="sze3" for="sze3">40</label></td>
<td><input type="checkbox" id="sze4" onclick="checkingFunction(this)" name="napok[]"><label id="sze4" for="sze4">40</label></td>
<td><input type="checkbox" id="sze5" onclick="checkingFunction(this)" name="napok[]"><label id="sze5" for="sze5">40</label></td>
<td><input type="checkbox" id="sze6" onclick="checkingFunction(this)" name="napok[]"><label id="sze6" for="sze6">40</label></td>
<tr>
<hr>
<th>Csütörtök</th>
<td><input type="checkbox" id="csu1" onclick="checkingFunction(this)" name="napok[]"><label id="csu1" for="csu1">40</label></td>
<td><input type="checkbox" id="csu1" onclick="checkingFunction(this)" name="napok[]"><label id="csu2" for="csu2">40</label></td>
<td><input type="checkbox" id="csu1" onclick="checkingFunction(this)" name="napok[]"><label id="csu3" for="csu3">40</label></td>
<td><input type="checkbox" id="csu1" onclick="checkingFunction(this)" name="napok[]"><label id="csu4" for="csu4">40</label></td>
<td><input type="checkbox" id="csu1" onclick="checkingFunction(this)" name="napok[]"><label id="csu5" for="csu5">40</label></td>
<td><input type="checkbox" id="csu1" onclick="checkingFunction(this)" name="napok[]"><label id="csu6" for="csu6">40</label></td>
</tr>
</tbody>
</table>
<input type="submit" class="button" value="Jelentkezés elküldése">
</form>
正如我所说,我想要一个数组。它的大小应为24个元素左右(24个复选框)。后来我想检查每个是否被检查,但是我怎么做所有这些事情?
答案 0 :(得分:1)
解决该问题的两种主要方法。一种方法是定义密钥:
name="napok[he1]"
name="napok[he2]"
然后检查它们:
if(isset($_POST['napok']['he1'])) { }
或设置一个值:
name="napok[]" value="he1"
name="napok[]" value="he2"
然后检查:
if(in_array('he1', $_POST['napok'])) { }
此外,这是不正确的(请参见上文):
$napok[] = $_POST['napok[]'];
isset($_POST['napok[0]'])
答案 1 :(得分:0)
删除多余的$_POST['napok[]'];
括号,并尝试使用array
将所有复选框捕获为$_POST['napok']
。另外,您可以传递napok
数组的索引,例如napok[he1]
,napok[he2]
等,以便在检查是否选中了 element 时更容易?>
完整代码:
<form class="asd" id="checkbox" action="?" method="post">
<table>
<thead>
<tr>
<th></th>
<th>1.</th>
<th>2.</th>
<th>3.</th>
<th>4.</th>
<th>5.</th>
<th>6.</th>
</tr>
</thead>
<tbody>
<tr>
<th>Hétfő</th>
<td><input type="checkbox" id="he1" onclick="checkingFunction(this)" name="napok[he1]"><label id="he1" for="he1">40</label></td>
<td><input type="checkbox" id="he2" onclick="checkingFunction(this)" name="napok[he2]"><label id="he2" for="he2">40</label></td>
<td><input type="checkbox" id="he3" onclick="checkingFunction(this)" name="napok[he3]"><label id="he3" for="he3">40</label></td>
<td><input type="checkbox" id="he4" onclick="checkingFunction(this)" name="napok[he4]"><label id="he4" for="he4">40</label></td>
<td><input type="checkbox" id="he5" onclick="checkingFunction(this)" name="napok[he5]"><label id="he5" for="he5">40</label></td>
<td><input type="checkbox" id="he6" onclick="checkingFunction(this)" name="napok[he6]"><label id="he6" for="he6">40</label></td>
</tr>
<tr>
<th>Kedd</th>
<td><input type="checkbox" id="ke1" onclick="checkingFunction(this)" name="napok[ke1]"><label id="ke1" for="ke1">40</label></td>
<td><input type="checkbox" id="ke2" onclick="checkingFunction(this)" name="napok[ke2]"><label id="ke2" for="ke2">40</label></td>
<td><input type="checkbox" id="ke3" onclick="checkingFunction(this)" name="napok[ke3]"><label id="ke3" for="ke3">40</label></td>
<td><input type="checkbox" id="ke4" onclick="checkingFunction(this)" name="napok[ke4]"><label id="ke4" for="ke4">40</label></td>
<td><input type="checkbox" id="ke5" onclick="checkingFunction(this)" name="napok[ke5]"><label id="ke5" for="ke5">40</label></td>
<td><input type="checkbox" id="ke6" onclick="checkingFunction(this)" name="napok[ke6]"><label id="ke6" for="ke6">40</label></td>
</tr>
<tr>
<th>Szerda</th>
<td><input type="checkbox" id="sze1" onclick="checkingFunction(this)" name="napok[sze1]"><label id="sze1" for="sze1">40</label></td>
<td><input type="checkbox" id="sze2" onclick="checkingFunction(this)" name="napok[sze2]"><label id="sze2" for="sze2">40</label></td>
<td><input type="checkbox" id="sze3" onclick="checkingFunction(this)" name="napok[sze3]"><label id="sze3" for="sze3">40</label></td>
<td><input type="checkbox" id="sze4" onclick="checkingFunction(this)" name="napok[sze4]"><label id="sze4" for="sze4">40</label></td>
<td><input type="checkbox" id="sze5" onclick="checkingFunction(this)" name="napok[sze5]"><label id="sze5" for="sze5">40</label></td>
<td><input type="checkbox" id="sze6" onclick="checkingFunction(this)" name="napok[sze6]"><label id="sze6" for="sze6">40</label></td>
<tr>
<hr>
<th>Csütörtök</th>
<td><input type="checkbox" id="csu1" onclick="checkingFunction(this)" name="napok[csu1]"><label id="csu1" for="csu1">40</label></td>
<td><input type="checkbox" id="csu1" onclick="checkingFunction(this)" name="napok[csu2]"><label id="csu2" for="csu2">40</label></td>
<td><input type="checkbox" id="csu1" onclick="checkingFunction(this)" name="napok[csu3]"><label id="csu3" for="csu3">40</label></td>
<td><input type="checkbox" id="csu1" onclick="checkingFunction(this)" name="napok[csu4]"><label id="csu4" for="csu4">40</label></td>
<td><input type="checkbox" id="csu1" onclick="checkingFunction(this)" name="napok[csu5]"><label id="csu5" for="csu5">40</label></td>
<td><input type="checkbox" id="csu1" onclick="checkingFunction(this)" name="napok[csu6]"><label id="csu6" for="csu6">40</label></td>
</tr>
</tbody>
</table>
<input type="submit" class="button" value="Jelentkezés elküldése">
</form>
<?php
if (isset($_POST['napok']))
{
print '<pre>';
print_r($_POST['napok']);
print '</pre>';
}
?>
提交后:
Array
(
[he4] => on
[he6] => on
[ke2] => on
[ke5] => on
[sze5] => on
[csu3] => on
[csu4] => on
)