我无法在联系表单中显示正确的答案/值。收到的电子邮件只会显示C作为答案,而不是选择的选项。
<tr>
<td><label for="gategory">Lemosine</label></td>
<td><input type="checkbox" name="carchoice[]" value="A" /><td>
</tr>
<tr>
<td><label for="gategory">Mini</label></td>
<td><input type="checkbox" name="carchoice[]" value="B" /></td>
</tr>
<tr>
<td><label for="gategory">Van</label></td>
<td><input type="checkbox" name="carchoice[]" value="C" /></td>
</tr>
<tr>
<td><label for="gategory">Off-Road</label></td>
<td><input type="checkbox" name="carchoice[]" value="D" /></td>
</tr>
<tr>
<td><label for="gategory">Station-car</label></td>
<td><input type="checkbox" name="carchoice[]" value="E" /></td>
</tr>
和PHP代码
$check_box_values = "Check box value: ";
if(isset($_POST['carchoice'])){
foreach($_POST['carchoice'] as $value){
$check_box_values .= $value;
$check_box_values .= ', ';
}
}
$msg=
'Name: '.$_POST['name'].'<br />
Email: '.$_POST['email'].'<br />
IP: '.$_SERVER['REMOTE_ADDR'].'<br /><br />
IP: '.$check_box_values['carchoice[]'].'<br /><br />
Message:<br /><br />
'.nl2br($_POST['message']).'
';
这是我在电子邮件中收到的内容
Name: awdawd aw
Email: adasda@live.dk
IP: 195.249.185.254
IP: C
Message:
awdawdawdd awd awdawd awd awd
不明白我错在哪里?
答案 0 :(得分:0)
复选框的值设置为“C”,因此将获取C,因为每次尝试都有标签,并在复选框值中给出标签名称。
答案 1 :(得分:0)
正如评论中所提到的,您正试图访问$check_box_values
的属性,就像它是一个数组一样,实际上它是一个字符串。因此,PHP将返回方括号之间指定位置的字符,因为这也是一个字符串,它会尝试将其强制转换为整数,结果为0(所以它基本上返回{{1中的位置0处的字符)这是$check_box_values
)。
此外,您不需要循环来构建值字符串,您可以使用C
:
implode()