Board logo

標題: 11-1-4 板主回覆網頁與回覆資料儲存 [打印本頁]

作者: 小誌    時間: 2011-4-23 23:29     標題: 11-1-4 板主回覆網頁與回覆資料儲存

11-1-4   板主回覆網頁與回覆資料儲存
還記得『顯示留言意見』網頁中如果板主以密碼登入成為管理模式時,必須讓板主可以針對某位特定網友所發表的意見作出獨立的回應嗎?
[attach]5762[/attach]
圖11-14   回覆網友留言的超連結。

要讓板主可以針對某位特定網友所發表的意見作出獨立的回應,我們當然也必須設計一個『板主回覆表單』,讓板主能夠在上面回覆發言,並且要能將這些意見資料送給我們處理老師回覆資料的PHP程式『anssave.php』來紀錄以及處理這些回覆資料。
在這個『板主回覆表單』網頁中我們必須再另外撰寫一個PHP程式將特定的網友發言資料秀在其中,好讓板主能夠對應網友發言來作出回覆:
[attach]5763[/attach]
圖11-15  顯示網友原始的發言內容。
  1. <?
  2. $ID = $_REQUEST["ID"];
  3. //連結MySQL Server
  4.     $conn = mysql_connect("localhost", "root", "12345a");
  5. //選擇資料庫
  6.     mysql_select_db("Message", $conn);
  7. //指定提取資料的校對字元表
  8.     mysql_query("set character set big5");   
  9. //建立查詢字串
  10. $SQL="SELECT * FROM allmessage WHERE 編號=" . $ID;
  11. //將回傳結果存放於變數中
  12. $datalist=mysql_query($SQL);
  13. //將資料錄轉換為欄位陣列集合
  14. $fielddatas=mysql_fetch_array($datalist);
  15. ?>
複製代碼
上列這個PHP程式內容您應該不陌生吧!之前我們就已經談了很多了。
作者: 小誌    時間: 2011-4-23 23:31

知道如何將特定的網友發言資料秀在表單中嗎?其實很簡單,我們不過是將資料庫中的資料取出來,然後秀在表單欄位中而已:
『網友姓名』欄位網頁敘述標籤
  1. <td bgcolor="#CCCCFF"><font size="2">
  2. <?=$fielddatas["網友姓名"];?></font></td>
複製代碼
『留言主題』欄位網頁敘述標籤
  1. <td bgcolor="#CCCCFF"><font size="2">
  2. <?=$fielddatas["留言主題"];?></font></td>
複製代碼
『留言內容』欄位網頁敘述標籤
  1. <td bgcolor="#CCCCFF"><font size="2">
  2. <?=$fielddatas["留言內容"];?></font></td>
複製代碼
其實我們『板主回覆表單』的重點是在板主回覆欄位上,板主在回覆欄位中所填入的資料,必須送給我們處理板主回覆資料的PHP程式『anssave.php』來紀錄以及處理這些回覆資料。當板主填寫好回覆發言的資料後按下『送出回覆』按鈕後,表單中的資料內容就會以『POST』的方式由SEVER端讀取,然後將資料內容交由處理老師回覆資料的PHP程式『anssave.php』來將資料內容寫入資料庫。
  1. <form method="POST" action="anssave.php">
複製代碼
特別注意:當我們將資料從資料庫讀出後,必須於結束後將打開的連線關閉起來,中斷與資料庫的連結(其實,當網頁程式敘述全部執行完畢,將資料下載到瀏覽器時,就會自動消滅了),所以我們必須在網頁中再加入下列這段PHP程式敘述:
  1. <?
  2.   mysql_close($conn);
  3. ?>
複製代碼

作者: 小誌    時間: 2011-4-23 23:32

ans.php
  1. <?
  2. $ID = $_REQUEST["ID"];
  3. //連結MySQL Server
  4.     $conn = mysql_connect("localhost", "root", "12345a");
  5. //選擇資料庫
  6.     mysql_select_db("Message", $conn);
  7. //指定提取資料的校對字元表
  8.     mysql_query("set character set big5");   
  9. //建立查詢字串
  10. $SQL="SELECT * FROM allmessage WHERE 編號=" . $ID;
  11. //將回傳結果存放於變數中
  12. $datalist=mysql_query($SQL);
  13. //將資料錄轉換為欄位陣列集合
  14. $fielddatas=mysql_fetch_array($datalist);
  15. ?>

  16. <html>
  17. <head><title>麻辣家族留言板</title>
  18. <meta http-equiv="Content-Type" content="text/html; charset=big5">
  19. </head>
  20. <body>
  21. <form method="POST" action="anssave.php">
  22.   <input type="hidden" name="ID" value="<?=$ID;?>">
  23.   <div align="center"><center><p><strong><font size="5">板主意見回覆</font></strong></p>
  24.   </center></div><div align="center"><center>
  25. <table border="0">
  26.   <center></center>
  27.   <TR>
  28.   <td bgcolor="#CCCCFF"><font color="blue" size="2">網友姓名</font></td>
  29.   <td bgcolor="#CCCCFF"><font size="2"><?=$fielddatas["網友姓名"];?></font></td>
  30. </tr>
  31. <tr>
  32.   <td bgcolor="#CCCCFF"><font color="blue" size="2" >留言主題</font></td>
  33.   <td bgcolor="#CCCCFF"><font size="2"><?=$fielddatas["留言主題"];?></font></td>
  34. </tr>
  35. <tr>
  36.   <td bgcolor="#CCCCFF"><font color="blue" size="2" >留言內容</font></td>
  37.   <td bgcolor="#CCCCFF"><font size="2"><?=$fielddatas["留言內容"];?></font></td>
  38. </tr>
  39. <tr>
  40.   <td bgcolor="#CCCCFF"><font size="2" color="#0000FF">板主</font><font color="blue" size="2" >答覆</font></td>
  41.   <td bgcolor="#CCCCFF"><font size="2"><textarea rows="5" name="Ans" cols="39"><?=$fielddatas["板主回覆"];?></textarea></font></td>
  42. </tr>
  43.   </table>
  44.   </center></div><div align="center"><center><input type="submit"
  45.   value="送出回覆">
  46.   </center></div>
  47.   <div align="center"><center>&nbsp;[<a href="guest.asp"><font color="#FF0000"><font onmouseover="this.style.color='#0000BB'" onmouseout="this.style.color='red'">返回留言板</font></font></a>]
  48.   </center></div>
  49. </form>
  50. <?
  51.   mysql_close($conn);
  52. ?>
  53. </body>
  54. </html>
複製代碼

作者: 小誌    時間: 2011-4-23 23:33

儲存回覆資料
當板主在『板主回覆表單』中填寫好回覆資料,然後按下『送出回覆』按鈕,表單中的資料內容就會以『POST』的方式由SEVER端讀取,因為我們在表單傳送的Action參數指定Server端處理此一表單資料內容的程式為『anssave.php』,因此,我們就必須來撰寫能夠處理這些意見資料的PHP程式『anssave.php』。

要以下就是PHP程式『anssave.php』完整的程式內容:
anssave.php
  1. <?
  2. $ID =$_REQUEST["ID"];
  3. $Ans=$_REQUEST["Ans"];

  4. //連結MySQL Server
  5.     $conn = mysql_connect("localhost", "root", "12345a");
  6. //選擇資料庫
  7.     mysql_select_db("Message", $conn);
  8. //指定提取資料的校對字元表
  9.     mysql_query("set character set big5");   
  10. //建立查詢字串
  11. $SQL="update allmessage set 板主回覆='" . nl2br($Ans) . "',板主回覆時間='" .
  12.         date("Y-m-j H:i:s") . "' WHERE 編號=" . $ID;
  13. //寫入資料
  14. mysql_query($SQL);

  15. header("Location: guest.php");
  16. ?>
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)