我有一个正常运行的消息传递脚本 我想做的是允许2件额外的东西。
一个是消息我按钮。 第二是回复功能。
当用户发送消息时,他们会从下拉框中选择消息。
所以就像<option value ="id">
一样,它会显示用户名。
当使用消息我按钮时,我假设我需要发布用户名并从列表中选择它。 在回复时,我再次发布用户名并从列表中选择它?
<form method='post' action='<?php echo $_SERVER['PHP_SELF']; ?>?p=new'>
<input type='hidden' name='rfrom' value='<?php echo $row['username']; ?>' />
<input type='hidden' name='rsubject' value='Re: <?php echo $row['title']; ?>' />
<input type='hidden' name='rmessage' value='Re: <<?php echo $row['message']; ?>>' />
<input type='submit' name='reply' class="button" value='Reply' />
</form>
这是回复代码。如您所见,我将用户名传递为$_POST['rfrom']
我想出了以下代码,从列表中选择用户。
$fromname=(isset($_POST['rfrom'])) ? $_POST['rfrom'] : ''; //ought to validate $_POST
$selected=($u==$fromname) ? 'selected="selected"' : '';
echo "<option value='$uid'>$u</option>";
这不起作用,当我点击回复时,我只是在列表中找到第一个用户。
另外,有人可以确认我是否可以使用id来代替用户名吗? 使用按钮从用户的个人资料中发送新消息会更容易。
谢谢你的阅读,希望你能帮忙!
我现在正在使用$_POST['rfrom']
传递用户ID。
用户ID将是选项值。
但是,我无法在列表中选择正确的用户。
有人请帮忙!
答案 0 :(得分:0)
我绝对会在表单的POST中使用userId,并将其验证为远端的INT,这也会使Drop O'Tables这样的名称不会破坏您的表单。
答案 1 :(得分:0)
当您输出选择框选项时,您忘记包含$selected
。
变化:
echo "<option value='$uid'>$u</option>";
要:
echo "<option value='$uid' $selected>$u</option>";
答案 2 :(得分:0)
有一个firefox错误,在刷新页面或使用浏览器后退按钮时,它无法正确识别selected="selected"
。在其他浏览器中测试它,以确保它是您的代码实际上是问题。
从Mozillazine逐字复制:
按住Shift键的同时按下重新加载按钮。