PHP如何将复选框值添加到邮件功能[重复]

Posted

技术标签:

【中文标题】PHP如何将复选框值添加到邮件功能[重复]【英文标题】:PHP how to add checkbox value to mail function [duplicate] 【发布时间】:2014-10-15 10:17:56 【问题描述】:

我有一个带有多个文本输入和一些复选框输入的 html 表单。

我的问题是,如果在 php 的邮件功能消息部分中选中复选框,我该如何发布?

这是我的代码:

HTML

<form method="post" action="">

    <label for="email"><strong>E-mail</strong></label><br />
    <input name="email" onBlur="mail(this)" type="text" value="<?php echo $email;?>"/>
    <span class="eroareMail error"><?php echo $emailErr;?></span><br />

    <label for="site"><strong>Site</strong></label><br />
    <input name="site" onBlur="numeSite(this)" type="text" value="<?php echo $site;?>"/>
    <span class="eroareSite error"><?php echo $siteErr;?></span><br />

    <h2><strong>Lorem</strong></h2>
    <p>
       Ipsum<input name="Ipsum" type="checkbox" value="<?php echo $Ipsum;?>"/> 
       Dolor<input name="Dolor" type="checkbox" value="<?php echo $Dolor;?>"/>
    </p>
</form>

PHP

$to = "sample@yahoo.com"; 
$subject = "subject";
$message = "

EMAIL: $email\r\n 
SITE: $site\r\n 
Lorem: $lorem, $ipsum\r\n 
";

mail($to,$subject,$message);
exit();

我尝试了这段代码,以及其他一些类似的想法,但没有任何效果。请帮忙!

【问题讨论】:

表单的作用是什么? 【参考方案1】:

您可以检查您的复选框字段的变量是否被选中:

<?php if(isset($_POST['Ipsum'])  echo "Ipsum is checked";  ?>
<?php if(isset($_POST['Dolor'])  echo "Dolor is checked";  ?>

【讨论】:

【参考方案2】:
<p>
   Ipsum<input name="Ipsum" type="checkbox" value="<?php echo $Ipsum;?>"/> 
   Dolor<input name="Dolor" type="checkbox" value="<?php echo $Dolor;?>"/>
</p>

应该改为:

<p>
   Ipsum<input name="Ipsum" type="checkbox" value="SomeVal"/> 
   Dolor<input name="Dolor" type="checkbox" value="SomeOtherVal"/>
</p>

否则,您仅在已设置变量时才设置值(用于复选框)。

然后是 PHP(如果你想简单地显示选中与否):

$message = "
    EMAIL: $email\r\n 
    SITE: $site\r\n 
    Lorem: " . (isset($Ipsum) ? "Ipsum Yes" : "Ipsum No") . ", " . 
        (isset($Dolor) ? "Dolor Yes" : "Dolor No") . "\r\n 
";

或者(如果您正在寻找价值):

$message = "
    EMAIL: $email\r\n 
    SITE: $site\r\n 
    Lorem: " . $Ipsum . ", " . $Dolor . "\r\n 
";

此代码假设您正在注册全局变量(或将 POST 值推送到变量中),因为您没有询问 $email 和 $site。

【讨论】:

【参考方案3】:

你为什么在用户有机会选中复选框之前就执行onBlur="mail(this)"onBlur="numeSite(this)"

【讨论】:

以上是关于PHP如何将复选框值添加到邮件功能[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将多个复选框值传递给php [重复]

将复选框值传递给 javascript 和 PHP 邮件

以 PHP 形式发送复选框值

如何使用复选框将Android联系人添加到列表视图中[重复]

使用带有复选框的html发布功能[重复]

PHP HTML复选框仅提交最后一个值MySQL问题