我创建了一个多选下拉框,其中下拉列表获取数据库中的所有用户。我选择所有或一个特定用户并想要发送电子邮件。
我的问题是,我可以在下拉列表中获取所有用户名称,但不知道如何获取所选用户的电子邮件ID并向下一页发送电子邮件?
http://i.stack.imgur.com/87aiG.jpg
赞:在第一页我选择了用户>>来自数据库>>在多选下拉框中。 在第2页显示TEXTAREA撰写电子邮件>>提交btn发送
为什么选择下拉菜单?因为 - 使用非常少的页面或表来选择使用。下拉列表是一种非常简短的形式,可以选择用户并发送。
请帮忙。 或提供脚本......
答案 0 :(得分:0)
您好,因为您尚未发布您的代码或正在尝试或正在处理的任何工作。
所以目前我可以通过提供你想要的东西来帮助你。
第一步
home.php
在此文件中,您必须为下拉列表选择框编写代码
填充要发送电子邮件的用户的Name
,并在select box
中的<option value="put_user_id">Person Name</option>
部分的代码部分中将用户ID添加到选项值属性中。您也可以根据您的问题制作这个选择框多选框。
第二步
现在,当用户选择部分或全部用户,然后submit
或点击send mail
按钮时,您可以通过GET
或POST
或{{1}简单地传递这些变量}
你最喜欢你到第二页的例子叫第二页像
SESSION
。
在这个页面上你只会得到两件事
您要发送的 1 电子邮件文本
2 和mailsend.php
ID ,其用户名被用户选中以发送电子邮件。
现在您拥有要发送电子邮件的用户ID,只需array
从数据库中检索email
,然后使用foreach
条件或where
进行简单选择查询或者将它们再次存储在user_id
中,然后再写一个array
循环来发送电子邮件。
或在第一个foreach
循环内,当您在每次迭代中获得每个用户的电子邮件ID时,立即同时发送电子邮件。
重要要点
您说:但不知道如何获取所选用户的电子邮件ID并向下一页发送电子邮件?
要在html代码中选择多个用户,您可以看到此example
我希望这会给你至少一些想法,我明确了你的观点。 随意问我有什么困惑。
答案 1 :(得分:0)
我不知道是否允许添加另一个答案,但让我试一试。 如果有什么不对,请告诉我。
您好希望这会有所帮助。问问题是否有任何混淆。
第一个文件 q1.php 以及该
的代码<?php $con = mysqli_connect('localhost','root','','test'); ?>
<form action='emailScript.php' method='post'>
<div class="control-group">
<label class="control-label" for="basicinput"> Select Users ID</label>
<div class="controls">
<select name="category[]" id="id" class="span8 tip mdb-select colorful-select dropdown-primary" multiple searchable="Search here.." required>
<option value=""disabled>Select User Credentials</option>
<?php $sql=mysqli_query($con,"select * from Users where Status='1'");
while ($rw=mysqli_fetch_array($sql)) { ?>
<option value="<?php echo htmlentities($rw['Email']);?>">
<?php echo htmlentities($rw['Full_Name']);?>
</option> <?php } ?>
</select>
</div>
<textarea name='emailText'></textarea>
</div>
<input type='submit' name='submit' value='Send' />
</form>
第二个文件 emailScript.php 代码位于
之下<?php
//check values are coming here or not
echo '<pre>';
print_r($_POST);
echo '</pre>';
$emails = $_POST['category'];
$emailText = $_POST['emailText'];
foreach($emails as $email){
//if email sending funciton is set properly then mail will fly
//:)
if( mail("$email",'Subject of Email',"$emailText")){
echo 'Mail Send Successfully';
}else{
echo 'ERROR:';
}
}
?>
我希望至少现在你能得到好消息。 :)
我正在使用xampp和水银邮件服务器,因此可以正确发送本地邮件。
使用PHPMailer类试用
<?php
//check values are coming here or not
echo '<pre>';
print_r($_POST);
echo '</pre>';
include_once "PHPMailer/src/PHPMailer.php";
$emails = $_POST['category'];
$mail = new PHPMailer();
$mail->setFrom('hello@codingpassiveincome.com');
$mail->Subject = "Please verify email!";
$mail->isHTML(true);
$mail->Body = $_POST['emailText'];
foreach($emails as $email){
$mail->addAddress( $email );
if ($mail->send())
$msg = "You have been sent your email!";
else
$msg = "Something wrong happened! Please try again!";
}
?>
<?php if ($msg != "") echo $msg . "<br><br>" ?>
<?php if ($msg != "") echo $msg . "<br><br>" ?>