使用复选框以PHP发送电子邮件
如何从数据库中发送电子邮件?但是当点击复选框时允许用户勾选复选框,表明发送给所有人。我怎么会这些电子邮件存储在复选框,如何将我把它们传递的邮件功能使用复选框以PHP发送电子邮件
<?php
$query="SELECT emails FROM users";
$result=mysqli_query($db,$query);
while($email=mysqli_fetch_assoc($result)){
$email=$email['student_email'];
}
?>
<input type ="checkbox " name="$email[]" value="" />
我怎么能使用复选框内这个$电子邮件,让所有的电子邮件将被储存在那里?还是有不同的方式来做到这一点? 谢谢你们
我只是归你的代码,并添加所需功能的电子邮件:
<?php
$query = "SELECT emails FROM users";
$result = mysqli_query($db, $query);
while ($email = mysqli_fetch_assoc($result)) {
echo '<input type="checkbox" name="mails[]" value="' . $email['student_email'] . '" />', PHP_EOL;
}
提交后:
<?php
foreach ($_REQUEST['mails'] as $studentMail) {
echo $studentMail . '<br>', PHP_EOL;
}
更新:
我错过了你的问题。
如果你想将邮件发送给所有用户,您woulnd't放在邮件都:
<input type="checkbox" name="send-to-all" value="yes">
然后提交后:
<?php
if (isset($_REQUEST['send-to-all']) && $_REQUEST['send-to-all'] == 'yes') {
$query = "SELECT emails FROM users";
$result = mysqli_query($db,$query);
while ($email = mysqli_fetch_assoc($result)) {
// send email here or gather array to send a single mail to all
}
}
如果你想包括组,我会做这种方式:
<input type="hidden" name="groups" value="<?php echo json_encode($groups); ?>" />
'name =“邮件[]”'如果你想要它是一个数组... – FrancescoMM 2014-09-30 08:37:45
工作很好谢谢。但我只想显示一个复选框,并在其时显示所有电子邮件的复选框 – 2014-09-30 08:38:59
@FrancescoMM应该使用数组吗?因为它必须发送给整个团队,而不仅仅是一个 – 2014-09-30 08:39:52
while($email=mysqli_fetch_assoc($result)){
$email=$email['student_email'];
echo '<input type ="checkbox " name="$email" />';
}
,然后提交表单到foreaches岗位价值和邮件页面中的所有
您可以像:
<?php
$result = mysqli_query($db, 'SELECT id, student_email FROM users');
if(isset($_POST['submit'])){
while($row = mysqli_fetch_array($result)){
var_dump($_POST['email-' . $row['id']]);
if($_POST['email-' . $row['id']]){
//Send
}else{
//Not send
}
}
}
?>
<form method="post">
<?php while($row = mysqli_fetch_array($result)):?>
<input type="checkbox" name="email-<?=$row['id']?>" value="" />
<?php endwhile;?>
<input type="submit" name="submit" />
</form>
OP使用'mysqli_'而不是'mysql_' – 2014-09-30 08:44:01
我使用PDO,这是演示 – 2014-09-30 08:45:03
不要给伪代码,它不是OP使用的API。 – 2014-09-30 08:46:15
正如我所看到的,您希望通过单个复选框发送电子邮件。首先,不要忘记将您的输入包装到<form id="..." method="..." action="...">...</form>
标签组中。您不必将返回的mysql结果作为名称属性传递给输入,因为如果您选中该复选框,然后提交表单,则必须执行一件事:发送电子邮件。所以我只会将输入的名称设置为“发送”。之后,你可以检查你的php代码:
<?php
//I assume, that you used post method
if($_POST['send']){
foreach($email as $mail){
mail($mail, $subject, $msg);
}
}
?>
我希望它可以帮助你。
您正在混合使用PHP和HTML代码,您应该在''中包含您的PHP。 – aularon 2014-09-30 08:37:01
不要像这样混合使用数据库访问和HTML代。分开他们。诸如Symfony和Flow之类的MVC框架将为您提供帮助。 – adhominem 2014-09-30 08:42:26
首先,编写一个代码打印检查邮件的电子邮件。其次,编写代码发送电子邮件从PHP。第三,把这两样东西放在一起 – 2014-09-30 08:46:29