我正在使用带复选框的表单.以下是代码的一部分:
if(isset($_POST['send'])){
$grandezas = array('tempCheckbox', "umiCheckbox", "uvCheckbox", "ventoCheckbox", "direcaoventoCheckbox", "precipitacaoCheckbox");
$grandezasCount = 0;
$tamanhoArray = count($grandezas);
for($i = 1; $i <= $tamanhoArray; $i++){
if($_POST[$grandezas[i]])
$grandezasCount++;
echo $grandezas[i]."."; // This gives me null values.
}
echo "<br>".count($grandezas)."<br>";
echo $grandezasCount;
printf("%s", $grandezas[1]);
Run Code Online (Sandbox Code Playgroud)
我有一个$grandezas数组,其中包含我在表单中使用的复选框的名称(已经检查过并且它们是正确的).它们在选中时返回值1.所有其余形式的工作完全没有类似的逻辑.
当我使用:
echo "<br>".count($grandezas)."<br>";
printf("%s", $grandezas[1]);
Run Code Online (Sandbox Code Playgroud)
它工作正常,但for循环内的回显不断给我空值.
我用$_POST[$grandezas[i]]错了吗?
您需要使用$i而不是i:
if($_POST[$grandezas[$i]])
$grandezasCount++;
echo $grandezas[$i].".";
Run Code Online (Sandbox Code Playgroud)
此外,表单上未勾选的复选框将不会显示在您的POST结果中.这意味着如果您知道密钥将成为一个复选框,您只需要检查变量是否存在:
if( isset($_POST[$grandezas[$i]]) ){
//checkbox was ticked
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |