如何从来自数据库的电子邮件发送电子邮件?但是,当单击复选框时,允许用户勾选一个复选框,说明发送给所有人。我如何将这些电子邮件存储在复选框中,以及如何将它们传递到邮件功能
<?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="" />
我如何在复选框中使用此$ email,以便将所有电子邮件存储在那里?或者有不同的方法来执行此操作吗? 谢谢你们
答案 0 :(得分:0)
while($email=mysqli_fetch_assoc($result)){
$email=$email['student_email'];
echo '<input type ="checkbox " name="$email" />';
}
然后将表单提交到一个页面,该页面会预告帖子值并邮寄所有电子邮件
答案 1 :(得分:0)
我只是将您的代码规范化并添加了所需的功能:
<?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;
}
<强>更新强>
我很想念你的问题。
如果您想向所有用户发送邮件,您根本不会收到邮件:
<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); ?>" />
答案 2 :(得分:0)
你可以这样做:
<?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>
答案 3 :(得分:0)
正如我所见,您希望通过一个复选框发送电子邮件。首先,不要忘记将输入包装到<form id="..." method="..." action="...">...</form>
标签组中。您不必将返回的mysql结果作为名称属性传递给输入,因为如果您选中该复选框,然后提交表单,则必须执行以下操作:发送电子邮件。所以我只会将输入的名称设置为&#34; send&#34;。之后你可以检查你的PHP代码:
<?php
//I assume, that you used post method
if($_POST['send']){
foreach($email as $mail){
mail($mail, $subject, $msg);
}
}
?>
我希望它可以帮到你。