我有一个表单,我正在尝试连接此区域中传递的值:
<div class='span5' style='margin-left:0px !important;'>
<label>
<input type="checkbox" name="arrayValue[]" id="area[0]" value="Sparks"
style='margin-top:-5px !important;'>Sparks</label>
</div>
<div class='span5' style='margin-left:0px !important;'>
<label>
<input type="checkbox" name="arrayValue[]" id="area[1]" value="Stead"
style='margin-top:-5px !important;'>Stead</label>
</div>
<div class='span5' style='margin-left:0px !important;'>
<label>
<input type="checkbox" name="arrayValue[]" id="area[2]" value="North Reno"
style='margin-top:-5px !important;'>North Reno</label>
</div>
这是我的PHP试图将值放在一起......
$arrayValue = array();
$areas = implode("," , $_POST['arrayValue']);
我理解它可能很草率,但我无法弄清楚为什么我在内爆函数上得到了无效的参数错误。
答案 0 :(得分:2)
错误是因为$_POST['arrayValue']
不存在。如果没有选中任何一个框,就会发生这种情况。
您的表单缺少<form>
标记,但没有提交按钮。没有这些元素,它将无法工作。
此外,您在代码中声明了一个数组$arrayValue = array();
。我认为这不是必要的。如果您只是想获取输入值并将它们连接在一起,则不需要它。由于我不确定你打算用它做什么,我在答案中忽略了这一点。
我在下面列出了一个工作演示,这可能会让你开始。
完整代码:
<?php
if( isset($_POST['submitButton']) ){
$areas = implode("," , $_POST['arrayValue']);
print_r($areas);
}
?>
<form action="" method="post">
<div class='span5' style='margin-left:0px !important;'>
<label>
<input type="checkbox" name="arrayValue[]" id="area[0]" value="Sparks" style='margin-top:-5px !important;'> Sparks
</label>
</div>
<div class='span5' style='margin-left:0px !important;'>
<label>
<input type="checkbox" name="arrayValue[]" id="area[1]" value="Stead" style='margin-top:-5px !important;'> Stead
</label>
</div>
<div class='span5' style='margin-left:0px !important;'>
<label>
<input type="checkbox" name="arrayValue[]" id="area[2]" value="North Reno" style='margin-top:-5px !important;'> North Reno
</label>
</div>
<input type="submit" name="submitButton"/>
</form>
<强>输出:强>
Sparks,Stead,North Reno
上面的代码使用空操作,因此发布到自身。您需要根据自己的要求进行更改。
希望这有帮助!
答案 1 :(得分:0)
implode会发出警告。
我建议使用var_dump检查值是否正常:
var_dump($_POST['arrayValue']);
答案 2 :(得分:0)
implode
期望一个数组传递给该函数。没有$_POST['arrayValue']
时会发生什么?您必须确保该变量存在:
if(isset($_POST['arrayValue'])){
$areas = implode("," , $_POST['arrayValue']);
}
注意:我不确定您计划在哪里实施$arrayValue
,因此在此答案中将其丢弃。