本文主要介紹了php實現留言板功能的步驟方法解析。具有很好的參考價值。下面跟著小編一起來看下吧
簡單的PHP留言板製作
做基礎的留言板功能 需要三張表:
員工表,留言表,好友表
首先造一個登入頁面:
<form action="drcl.php" method="post"> <p>帳號:<input type="text" name="zhang"/></p> <p>口令:<input type="text" name="mi"/></p><input type="submit" value="登入"/></form>
:
不多說,沒毛病
然後來寫處理頁面:
<?phpsession_start();//session儲存資料include ("db.class.php");//引用類$db = new db();//造方法$zhang = $_POST["zhang"];$mi = $_POST["mi"];$sql = "select mi from yuangong WHERE zhang = '{$zhang}'";$arr = $db->Query($sql);if(!empty($mi)&&$mi = $arr &&!empty($zhang)){ $_SESSION["zhang"] = $zhang; //即將跳轉頁面之前,把帳號存到session裡面 header("location:zym.php");}else{ echo "登入失敗了";}?>
正常的處理登入的頁面只不過把帳號存了一下session
登入上進入首頁面
再來是首頁面了:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>無標題文檔</title></head><body><h1>留言板</h1><p><a href="fbym.php" rel="external nofollow" >發布資訊</a></p><p><a href="ddrr.php" rel="external nofollow" rel="external nofollow" onclick=" return confirm('登出目前使用者?')">登出登入</a></p><table border="1" cellpadding="0" cellspacing="0" width="100%"> <tr> <td>寄件者</td> <td>收件者</td> <td>發布時間</td> <td>內容</td> </tr> <?php session_start(); //儲存資料 if(empty($_SESSION["zhang"])) { header("location:ddrr.php"); //防止輸入網址進入 exit; } $zhang = $_SESSION["zhang"]; include ("../db.class.php"); $db = new db(); $sql = "select name from yuangong WHERE zhang = '{$zhang}'"; $attr = $db->Query($sql); //取到登入的name echo "<h5>歡迎你:{$attr[0][0]}</h5>"; //輸出登入的name $sql = "select * from liuyan WHERE shou = '{$zhang}' or shou = 'all' ORDER BY times DESC "; //條件!!我只看自己或所有人的 $arr = $db->Query($sql); foreach ($arr as $v){ $shou = aname($v[2]); $fa = aname($v[1]); //用方法 echo "<tr> <td>{$fa}</td> <td>{$shou}</td> <td>{$v[3]}</td> <td>{$v[4]}</td> </tr>"; } //返回姓名 function aname($zhang) { global $db; //設定全域變數! if($zhang == "all") { //如果接收到的是all,顯示: return "所有人"; } else { //如果是自己的,根據帳號查name $sql = "select name from yuangong WHERE zhang ='{$zhang}' "; $arr = $db->Query($sql); //二維數組 return $arr[0][0]; } } ?></table></body></html>
尋找的條件即是只查自己的好友或者是all的所有人
還要注意一點便是要把調用的db設為全域變數
圖:
留言板需要發布資訊:
發布資訊頁面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>無標題文檔</title></head><body><h1>發布資訊</h1><?phpsession_start();//儲存資料if(empty($_SESSION["zhang"])){ header("location:ddrr.php"); //防止輸入網址進入 exit;}$zhang = $_SESSION["zhang"];include ("../db.class.php");$db = new db();$shaoyou = "select * from firend WHERE me = '{$zhang}'";$ahaoyou = $db->Query($shaoyou);?><form action="fbcl.php" method="post"><p> 接收人: <select name="shou"> <option value="all">所有</option> <?php foreach ($ahaoyou as $v) { $name = aname($v[2]); echo "<option value='{$v[2]}'>{$name}</option>"; } ?> </select></p><br/><p>留言內容: <input type="text" name="lynr"/></p><br/><input type="submit" value="發送"/><input type="reset" value="清空"/></form><?phpfunction aname($zhang){global $db;//設定全域變數!if($zhang == "all"){//如果接收到的是all,顯示:return "所有人";}else{//如果是自己的,根據帳號查name$sql = "select name from yuangong WHERE zhang ='{$zhang}' ";$arr = $db->Query($sql);//二維數組return $arr[0][0];}}?><a href="zym.php" rel="external nofollow" >查看資訊</a><a href="ddrr.php" rel="external nofollow" rel="external nofollow" onclick="return confirm('確定要退出此帳號?')">登出登入</a></body></html>
最後就是發布資訊的處理頁面:
<?phpsession_start();$uid = $_SESSION["zhang"];include("../db.class.php");$db = new db();$jsr = $_POST["shou"];$neirong = $_POST["lynr"];$sj = date("Y-m-d H:i:s");$sql = "insert into liuyan values('','{$uid}','{$jsr}','{$sj}','{$neirong}',0)";if($db->Query($sql,0)){ header("location:zym.php");}else{ echo "發布失敗!";}
圖:
我用小花的帳號給小明發一條留言:
所以 登入小明的帳號
圖:
沒錯,他收到了小花的這條留言
以上就是本文的全部內容,希望對大家的學習有所協助。