用PHP製作出簡易網路留言板
功能:
- 顯示該會員的個人留言紀錄
- 紀錄又分成買家跟賣家
- 可以做出買家公告(對所有會員)
做完大概長這個樣子:
原理: 透過PHP連結到MySQL對資料庫做存取的動作,買家和賣家的背景圖案則是用PowerPoint做出很陽春的圖示樣板。
先在MySQL建一個board的資料表
CREATE TABLE IF NOT EXISTS `board` (
`id` int(100) NOT NULL,
`username` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`IsUserMsg` tinyint(1) DEFAULT NULL,
`subject` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`content` text COLLATE utf8_unicode_ci,
`time` datetime DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;對應欄位資料
id ->留言編號
username ->會員帳號
IsUserMsg ->用來判斷會員或官方
subject ->主題
content ->內容
time ->留言時間輸出留言訊息
$results = mysql_query("SELECT * FROM `board` WHERE `username` = '".$_SESSION["username"]. "' OR `username` ='admin' ORDER BY `time` DESC");
while($row_RecBoard=mysql_fetch_assoc($results)){
if($row_RecBoard['IsUserMsg']){
<div id = "member_msg">
<p style="color:black;font-family:'微軟正黑體';text-align:left;font-size:24px;"> echo $row_RecBoard['subject']; </p>
echo $row_RecBoard['content']; <p style="text-align:right"> echo $row_RecBoard['time'].""; </p>
</div>
else{ }
<div id = "admin_msg">
<p style="color:black;font-family:'微軟正黑體';text-align:left;font-size:24px;"> echo $row_RecBoard['subject']; </p>
echo $row_RecBoard['content']; <p style="text-align:right"> echo $row_RecBoard['time'].""; </p>
</div>
<hr />
//while }
mysql語法中username = $_SESSION[“username”] ,是因為在已經登入的情形下才能存取我的留言版,所以我直接用session去比對username即可。 按照時間排序去讀取資料表的內容後,只將自己帳號的和admin(公告)的內容取出來,然後透過IsUserMsg去判斷是買家的留言或是賣家的留言,並搭配不同的背景圖片就可以完成瞜!
- 新增留言訊息
if(isset($_POST["action"])&&($_POST["action"]=="add")){ |
然後新增一個表格
<form action = "" method = "POST" name = "add" id = "add"> |
在PHP中要如何與HTML的傳送的表單資料去做連結呢?方法就是透過<input type = "hidden" name = "action" value = "add" >
設置一個hidden(隱藏)屬性的欄位,當我按下submit按鈕後,如我form的action沒有填上網址就會回傳自己這個網址,此時這個欄位的資料也會一併被送出,所以就可以靠檢查這個欄位來與php做連結搂!
一樣的,因為我是在已經登入完成的情形下去做新增,所以$sql_query .= "'" .$_SESSION["username"]. "', 1 ,";
已經有了username的資料了,不用另外做輸入,時間的部分透過NOW()直接取得目前時間。
留言板的部分就到這裡就大功告成了,你問我圖案怎麼做?開啟PPT然後圖案拉一拉、顏色換一換摟~