【发布时间】:2016-03-14 18:01:52
【问题描述】:
我已经尽我所能,终于想到在这里问:
我有一个复选框,可以检查多个值,在我的 php 中,我试图在这样的变量中获取这些值:
if(!empty($_POST['procedure'])) {
foreach($_POST['procedure'] as $procedure) {
$proc = implode(",", (array)$procedure);
}
echo $proc;
}
问题 1. 它回显了最后选择的值而不是选择的倍数。
在我的 html 电子邮件模板中,我有这个:
<strong>Which procedure(s) are you inquiring about?</strong>
<p><?php echo $proc; ?></p>
问题 2。这里没有呼应任何值。
为了解决问题 1,我尝试了以下代码:
if(!empty($_POST['procedure'])) {
foreach($_POST['procedure'] as $procedure) {
echo $proc;
}
}
在电子邮件中打印出不带逗号但仍为空值的值。
此外,由于我通过电子邮件发送这些值以呼应结果没有意义,因此我仅出于测试目的进行尝试。
按要求输出 $proc:
Vertical Horizontal Flat
这些是复选框的值,并且 echo $proc 正确捕获它们..
更新:邮件功能代码。
$user_email = addslashes($_POST['email']);
$filter_values = 'form, submit-btn';
$errors = '<p class="alert alert-success">Your message has been successfully sent !</p>';
$options = array(
'from_email' => '',
'from_name' => 'form', // optional
'reply_to' => 'test@test.com', // optional
'adress' => 'my@gmail.com',
'subject' => 'contact',
'attachments' => 'img/wallacegromit.jpg', // optional
'filter_values' => 'form, submit-btn',
'html_template' => '../forms/mailer/email-templates/contact-email.html', // optional
'css_template' => '../forms/mailer/email-templates/contact-email.css', // optional
'sent_message' => '<p class="alert alert-success">Your message has been successfully sent !</p>', // optional
'display_errors' => true // optional, default false
);
$sent_message = Form::sendAdvancedMail($options);
<strong>Which procedure(s) are you inquiring about?</strong>
<p>{proc} </p>
我的情况如何?
更新:这是替换每个发布的 html 电子邮件值的代码。
$filter = explode(",", $filter_values);
for ($i = 0; $i < count($filter); $i++) {
$filter[$i] = trim(mb_strtolower($filter[$i]));
}
$replacements = array_merge($values, $custom_replacements);
foreach ($replacements as $key => $value) {
if (!in_array(mb_strtolower($key), $filter) && !is_array($value)) {
$html = str_replace('{' . $key . '}', $replacements[$key], $html);
}
}
【问题讨论】:
-
Okie,为什么邮件里是空的?任何想法。
-
电子邮件代码是文件夹中的单独模板文件。除此之外的所有其他值都是可见的。
-
试试你的建议..现在
-
@Don'tPanic 我已将代码更改为 - if(!empty($_POST['procedure'])) { foreach($_POST['procedure'] as $procedure) { $ proc .= implode(",", (array)$procedure);回声 $proc; } } 电子邮件中的值仍然为空
-
通过(未知)表单和其他未显示的 PHP 获得了我的钱,包括
mail()。