无法在 phpmailer 中发送空复选框值
Cant send empty checkbox value in phpmailer
我正在使用 phpmailer 处理电子邮件表单,每次复选框保持空白时都会出现问题,所以我发现问题出在下面的表达式中:
$f_select = '';
foreach ($_POST['select'] as $key => $value) {
$f_select .= $value."\r\n";
}
返回以下错误:
Warning: Invalid argument supplied for foreach() in
/home/alive-web-tech/www/nagoyashobotenken/contact/complete.php on
line 23
我该如何解决这个问题?我想我需要创建一个条件,告诉当复选框值为空时必须发生一些事情来防止错误。
有两种方法可以解决这个问题。
如果您确实需要复选框的值,即使它们没有被选中,那么您必须更新您的表单,为您拥有的每个复选框包含一个值为 0 的隐藏输入:
<input type="hidden" name="select[firstCheckbox]" value="0" />
<input type="checkbox" name="select[firstCheckbox]" />
如果您不关心复选框的空值,那么您可以在进入循环之前简单地验证发布的数据是否为空:
$f_select = '';
if (!empty($_POST['select'])) {
foreach ($_POST['select'] as $key => $value) {
$f_select .= $value."\r\n";
}
}
在调用 foreach()
之前,您需要检查 $_POST['select']
是否为空。
您可以尝试类似的方法:
$f_select = '';
if (!empty($_POST['select'])) {
foreach ($_POST['select'] as $key => $value) {
$f_select .= $value."\r\n";
}
}
在循环浏览其内容之前,您必须检查 $_POST['select]
。
$f_select = '';
if (!empty($_POST['select'])) {
foreach ($_POST['select'] as $key => $value) {
$f_select .= $value."\r\n";
}
}
我正在使用 phpmailer 处理电子邮件表单,每次复选框保持空白时都会出现问题,所以我发现问题出在下面的表达式中:
$f_select = '';
foreach ($_POST['select'] as $key => $value) {
$f_select .= $value."\r\n";
}
返回以下错误:
Warning: Invalid argument supplied for foreach() in /home/alive-web-tech/www/nagoyashobotenken/contact/complete.php on line 23
我该如何解决这个问题?我想我需要创建一个条件,告诉当复选框值为空时必须发生一些事情来防止错误。
有两种方法可以解决这个问题。
如果您确实需要复选框的值,即使它们没有被选中,那么您必须更新您的表单,为您拥有的每个复选框包含一个值为 0 的隐藏输入:
<input type="hidden" name="select[firstCheckbox]" value="0" /> <input type="checkbox" name="select[firstCheckbox]" />
如果您不关心复选框的空值,那么您可以在进入循环之前简单地验证发布的数据是否为空:
$f_select = ''; if (!empty($_POST['select'])) { foreach ($_POST['select'] as $key => $value) { $f_select .= $value."\r\n"; } }
在调用 foreach()
之前,您需要检查 $_POST['select']
是否为空。
您可以尝试类似的方法:
$f_select = '';
if (!empty($_POST['select'])) {
foreach ($_POST['select'] as $key => $value) {
$f_select .= $value."\r\n";
}
}
在循环浏览其内容之前,您必须检查 $_POST['select]
。
$f_select = '';
if (!empty($_POST['select'])) {
foreach ($_POST['select'] as $key => $value) {
$f_select .= $value."\r\n";
}
}