繁体   English   中英

消息问题!

[英]Messaging issues!

我有一个正常运行的消息传递脚本。 我正在尝试做的是允许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将是选项值。

不过,我仍然无法在列表中选择正确的用户。

有人请帮忙!

我绝对会在表单的POST中使用userId,并在另一端将其验证为INT,这也将防止Drop O'Tables之类的名称破坏表单。

在输出选择框选项时,您忘记了包含$selected

更改:

echo "<option value='$uid'>$u</option>"; 

至:

echo "<option value='$uid' $selected>$u</option>"; 

Firefox中有一个bug,在刷新页面或使用浏览器后退按钮时,它无法正确识别selected="selected" 在其他浏览器中对此进行测试,以确保实际上是问题所在。

从Mozillazine复制的逐字记录:

按下Shift键的同时按下Reload按钮。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM