在邮件正文PHPmailer中显示复选框输入

时间:2018-04-21 11:07:13

标签: php html arrays string phpmailer

首先,我试图回显我的复选框字段的结果,它显示确定。但是,当我将复选框名称放在PHPmailer设置中时,我的邮件只显示单词数组。

我知道它与复选框中的数组结果有关,但我不知道如何将结果放在邮件正文中。请给我一些建议和解释。

这是我的HTML复选框代码

<form method="post">
<div class="form-group">
    <p>If yes, which type of disposable contact lens have you worn before?</p>
    <input type="checkbox" name="disposable_lens[]"  value="Monthly"/> Monthly<br>
    <input type="checkbox" name="disposable_lens[]"  value="Daily Disposables"/> Daily Disposables<br>
</div>
</form>

这是我的PHP代码,用于回显结果,并在检查时显示两个值

if(empty($_POST["disposable_lens"]))
{
    $error .= '<p><label class="text-danger">Disposable_lens is required</label></p>';
}
else
{
    $disposable_lens = clean_text($_POST["disposable_lens"]);
    echo $disposable_lens."</br>";
}

这里我的PHPmailer正文代码只在我的邮件中显示单词“array”,当我点击Submit按钮时也显示错误

$mail->Body = join('', array(
        "Outlet: ",
        $_POST['outlet'],
        "<br/>",
        "Full Name: ",
        $_POST['fullname'],
        "<br/>",
        "Email Address: ",
        $_POST['email'],
        "<br/>",
        "Phone Number:",
        $_POST['contact_no'],
        "<br/>",
        "Have you worn contact lens before?: ",
        $_POST['lenses'],
        "<br/>",
        "If yes, which type of disposable contact lens have you worn before?: ",
        ($_POST['disposable_lens']),
        "<br/>",
        "Appointment Date ",
        $_POST['date'],
        "<br/>",
        "Appointment Time ",
        $_POST['time']
        )); 

这是回显结果,显示我的复选框值,但在邮件中,只显示单词“array”。

enter image description here

1 个答案:

答案 0 :(得分:0)

$_POST['disposable_lens']是所有复选框值的数组。将数组转换为字符串时,只需获取Array。如果您想要以逗号分隔的列表,请使用implode()

   "If yes, which type of disposable contact lens have you worn before?: ",
    implode(', ', $_POST['disposable_lens']),