我是新来的,在询问之前,我试着搜索现有的帖子,但找不到一个对我的工作有效的,完全是用来修改我的表格的。我还在学习-所以我不知道我做错了什么。
使用下面的表单,我将在浏览器的顶部得到以下警告/错误:
注意:第25行/home/adk819/public_html/DummyWebs/DCC2/send_form_email.php中的未定义索引: checkbox_group_1 警告: line () function.implode:在第25行的/home/adk819/public_html/DummyWebs/DCC2/send_form_email.php中传递的无效参数
下面是我的html (其中只有错误)--它是一个相当大的表单:/):
<form class="formTemplate" method="POST" action="send_form_email.php">
<div>
<fieldset><!-- Wrap checkbox/radio button groups in fieldsets -->
<legend id="casetype">Case Type</legend>
<div>
<input type="checkbox" id="casetype_1" name="checkbox_group_1[]" value="Rackmount" />
<label for="casetype_1">Unknown</label>
</div>
<div>
<input type="checkbox" id="casetype_2" name="checkbox_group_1[]" value="Injection" />
<label for="casetype_2">Injection Molded</label>
</div>
<div>
<input type="checkbox" id="casetype_3" name="checkbox_group_1[]" value="Rotationally" />
<label for="casetype_3">Rotationally Molded</label>
</div>
<div>
<input type="checkbox" id="casetype_4" name="checkbox_group_1[]" value="Rackmount" />
<label for="casetype_4">Rack Mount</label>
</div>
</fieldset>
</div>
</form>以下是我的php (用于上述区域):
$casetype = implode(' | ', $_POST['checkbox_group_1']);
// Construct email body
$email_message .= "Case Type: ". $casetype . "\r\n";在这里我找到了使表单的这一部分的信息:http://webdesy.com/how-to-create-html-php-contact-form-radio-buttons-checkboxes-dropdown-menu/,我请求他们的帮助--但目前还没有修复:
谢谢你们能帮我的忙!玛丽~
发布于 2013-10-21 19:03:44
尝试将代码绑定到issset中,只有当复选框变量出现时,它才会执行。
if(is_array($_POST['checkbox_group_1']) && isset($_POST['checkbox_group_1']))
{
$casetype = implode(' | ', $_POST['checkbox_group_1']);
// Construct email body
$email_message .= "Case Type: ". $casetype . "\r\n";
}当您的复选框没有设置为数组时,基本上就会出现错误,所以当您尝试对其执行内爆时,PHP会不高兴,因为它需要一个数组。
发布于 2013-10-21 19:02:31
我建议在内爆前检查$_POST值。
如果没有选中特定组中的复选框,则该变量将不会被张贴,并且将被取消定义。
本例使用PHP的empty()和三元算子
$casetype = !empty($_POST['checkbox_group_1'])
? implode(' | ', $_POST['checkbox_group_1'])
: false;编辑:
如果组中没有选择选项,也可以显示特定的消息。
与其将缺失值设置为false,不如将其设置为其他值:
$casetype = !empty($_POST['checkbox_group_1'])
? implode(' | ', $_POST['checkbox_group_1'])
: "n/a";https://stackoverflow.com/questions/19502486
复制相似问题