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如何将复选框值添加到邮件功能[重复]的主要内容,如果未能解决你的问题,请参考以下文章