发送到输入的地方,我希望它是一个选择。我无法弄清楚如何使选择显示已注册到我的系统的用户名。
这就是我想要的样子:http://i.stack.imgur.com/wbDER.png
这种情况不断发生:http://i.imgur.com/XJv5h.png
代码:
<form action="pm.php?mode=sendit" method="post">
Send To:<br />
<?
$sql = mysql_query("select * from usr_users");
while($m = mysql_fetch_array($sql))
{ ?>
<SELECT name="sendto">
<OPTION value="<? echo("$m[username]");?>"><? echo("$m[username]");?></OPTION>
</select>
<? } ?>
Message Subject:<br />
<input type="text" name="subject" /><br /><br />
Message:<br />
<textarea name="privmsg" id="new_message" cols="40" rows="5"></textarea>
<script language="JavaScript">
generate_wysiwyg('new_message');
</script>
<br /><br />
<input type="hidden" value="<? echo("$_SESSION[usr_name]");?>" name="sentfrom" />
<input type="submit" value="Send" />
</form>
有谁知道怎么做?
提前致谢!
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以在登录时向您的数据库添加用户签名会话,然后从您的表中选择它们,并添加到选项列表。如果它们是注销,则删除正确的记录,或者放置cron脚本,如果它们在一段时间内不是活动,则会删除它们。如果你有庞大的系统,那么这个版本会很糟糕。
当您已经对数据库进行查询并将其置于变量中时,您应该这样做:
foreach ($login_user as $item){
echo '<option value="'.$item['session_id'].'">'.$item['user_name'].'</option>';
}
答案 2 :(得分:0)
以下是您的简单示例:
<?php
//query the db and select all usernames. Here, I'm just using an array for testing purpose
$usernames[] = 'abc';
$usernames[] = 'treyt';
$usernames[] = 'uiu';
$usernames[] = 'cvcvb';
$usernames[] = 'mty';
$usernames[] = 'opo';
//so $usernames array holds all usernames now.
?>
<html>
<body>
<form method="post" action="index.php">
Username: <select name="user_name">
<?php
//output the usernames
foreach($usernames as $user)
echo '<option>' . $user . '</option>';
?>
</select>
<input type="submit" value="Send" />
</form>
</body>
</html>
但如果您有很多用户,那么我不会建议这种方法。因为,列表很长。相反,您可以使用AJAX动态显示用户名列表(建议),同时用户开始在文本框中键入用户名。
希望这会对你有所帮助。 :)