【问题标题】:PHP how to add checkbox value to mail function [duplicate]PHP如何将复选框值添加到邮件功能[重复]
【发布时间】: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();

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

【问题讨论】:

  • 表单的作用是什么?

标签: php forms checkbox


【解决方案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)"

      【讨论】:

        猜你喜欢
        • 2013-08-07
        • 2018-09-25
        • 1970-01-01
        • 2014-01-05
        • 1970-01-01
        • 2015-06-29
        • 2012-02-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多