麻辣家族討論版版's Archiver

小誌 發表於 2011-4-23 23:29

11-1-4 板主回覆網頁與回覆資料儲存

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

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

小誌 發表於 2011-4-23 23:31

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

小誌 發表於 2011-4-23 23:32

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

<html>
<head><title>麻辣家族留言板</title>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
</head>
<body>
<form method="POST" action="anssave.php">
  <input type="hidden" name="ID" value="<?=$ID;?>">
  <div align="center"><center><p><strong><font size="5">板主意見回覆</font></strong></p>
  </center></div><div align="center"><center>
<table border="0">
  <center></center>
  <TR>
  <td bgcolor="#CCCCFF"><font color="blue" size="2">網友姓名</font></td>
  <td bgcolor="#CCCCFF"><font size="2"><?=$fielddatas["網友姓名"];?></font></td>
</tr>
<tr>
  <td bgcolor="#CCCCFF"><font color="blue" size="2" >留言主題</font></td>
  <td bgcolor="#CCCCFF"><font size="2"><?=$fielddatas["留言主題"];?></font></td>
</tr>
<tr>
  <td bgcolor="#CCCCFF"><font color="blue" size="2" >留言內容</font></td>
  <td bgcolor="#CCCCFF"><font size="2"><?=$fielddatas["留言內容"];?></font></td>
</tr>
<tr>
  <td bgcolor="#CCCCFF"><font size="2" color="#0000FF">板主</font><font color="blue" size="2" >答覆</font></td>
  <td bgcolor="#CCCCFF"><font size="2"><textarea rows="5" name="Ans" cols="39"><?=$fielddatas["板主回覆"];?></textarea></font></td>
</tr>
  </table>
  </center></div><div align="center"><center><input type="submit"
  value="送出回覆">
  </center></div>
  <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>]
  </center></div>
</form>
<?
  mysql_close($conn);
?>
</body>
</html>[/code]

小誌 發表於 2011-4-23 23:33

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

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

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

header("Location: guest.php");
?>[/code]

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供