PHPmailer:如果他们选中了

时间:2016-04-17 23:38:07

标签: php email checkbox phpmailer

我希望用户能够选择一个显示"向我发送电子邮件副本的方框"完成表格后。我使用phpMailer将表单发送给自己,并且我不知道如何在此人选中此框的情况下添加第二个电子邮件地址。现在我有:

if (isset($_POST["send"])) {
    $senderEmail = $email;
}   

<li>
<h4>Send me a copy of this form</h4>
<input type="radio" id="send" name="send">
<label for="send">Yes please</label>

<input type="radio" id="nosend" name="nosend">
<label for="nosend">No, thank you</label>
</li>

最后

include("includes/class.phpmailer.php");
$mail = new PHPMailer;

$mail->setFrom($email, $firstname);
$mail->addAddress('email@address.com'); 
$mail->addAddress($senderEmail);
$mail->addReplyTo($email, $name);
$mail->isHTML(true);
$mail->Subject = 'New email from ' . $name;
$mail->Body    = "

<h2>Email from your Website</h2>
<p>Name: $firstname $lastname </p>
<p>Email: $email </p>
<p>Phone: $phone </p>
<p>Country: $
<p>Message: $comments </p>


";

此外,虽然我们正在查看它,但在上面列出的电子邮件正文中,我想获取Country下拉选择菜单中的信息。如果有人也可以告诉我如何做到这一点,以及如何从发送者从收音机清单中做出的选择中做同样的事情,我将非常感激。

1 个答案:

答案 0 :(得分:1)

当您只需要一个参数nosendsend时,您需要发送两个参数:send。那个将是truefalse,具体取决于选择的无线电。请注意,它们的名称现在都是send,我添加了value个属性。

<input type="radio" id="send" name="send" value="true">
<input type="radio" id="nosend" name="send" value="false">

由于只有两个选项,因此使用复选框而不是无线电可能更有意义。当有两个以上的选项时,无线电输入更合适。

<input type="checkbox" id="send" name="send" value="true">

然后,在您的邮件逻辑中,只有在send参数设置为适当的值时才添加附加地址。

$mail->addAddress('email@address.com'); 
if (isset($_POST['send']) && $_POST['send'] == 'true') {
    $mail->addAddress($senderEmail);
}