我在PHP&HTMl中为消息传递系统工作。为了从数据库获取用户列表,我使用了选择查询和 while 循环来列出 html 下拉列表中的用户名。我的问题是,如何一次选择两个或多个用户向他们发送消息。谁能在这方面指导我。
<div class="content">
<h1>New Personnal Message</h1>
<form action="message.php" method="post">
Please fill the following form to send a personnal message.<br /><br />
<label>Title</label>
<div class="text">
<input type="text" value="<?php echo htmlentities($otitle, ENT_QUOTES, 'UTF-8'); ?>" id="title" name="title" /><br /><br /></div>
<label for="recip">Recipient<span class="small"> (Username)</span></label>
<div class="text">
<input type='checkbox' onclick="checkall()" id="selectall">
<?php
$sql2 = "SELECT fname FROM REGISTRATIONFORM";
$result2 = $conn->query($sql2);
echo "<select name='username'>";
while ($row = $result2->fetch_assoc())
{
echo "<option value='".$row['fname']."'>" .$row['fname']."</option>";
}
echo "</select>";
?>
<br /><br />
</div>
<?php
else
{
?>
<label for="recip">Recipient<span class="small"> (Username)</span></label>
<div class="text">
<input type="text" readonly value="<?php echo $email; ?>" id="recip" name="recip" /><br /><br /></div>
<?php
}
?>
<label for="message">Message</label>
<div class="text">
<textarea cols="40" rows="5" id="message" name="message"><?php echo htmlentities($omessage, ENT_QUOTES, 'UTF-8'); ?></textarea></div><br /><br />
<div class="text">
<input type="submit" value="Send" class="btn btn-info"/><br /><br /><br />
</div>
</form>
添加多个属性选择成这样
echo "<select name='username[]' multiple>";
使用 Ctrl+单击选择更多
如果你的问题是如何使用PHP发送邮件,你可以在这里找到更多 https://www.w3schools.com/php/func_mail_mail.asp
在处理多选下拉列表时要记住两件事:
echo "<select name='username[]' multiple>";
多选下拉列表的name
必须是一个array
,以便它可以在其中保存多个值。其中还提到了多个属性。
你可以在 php 中获取它的值,例如:
$usernames = $_REQUEST['username'];
foreach($usernames as $username)
{
// your logic here
}