簡體   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