php實現留言板功能(代碼詳解)
更新時間:2017年03月28日 09:35:21 作者:我之姓冠你之名
本文主要介紹了php實現留言板功能的步驟方法解析。具有很好的參考價值。下面跟著小編一起來看下吧
簡單的PHP留言板制作
做基礎的留言板功能 需要三張表:
員工表,留言表,好友表

首先造一個登入頁面:
<form action="drcl.php" method="post"> <div>帳號:<input type="text" name="zhang"/></div> <div>口令:<input type="text" name="mi"/></div> <input type="submit" value="登入"/> </form>
上圖:

不多說,沒毛病
然后來寫處理頁面:
<?php
session_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>
<div><a href="fbym.php" rel="external nofollow" >發(fā)布信息</a></div>
<div><a href="ddrr.php" rel="external nofollow" rel="external nofollow" onclick=" return confirm('注銷當前用戶?')">注銷登入</a></div>
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>發(fā)件人</td>
<td>收件人</td>
<td>發(fā)布時間</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設為全局變量
圖:

留言板需要發(fā)布信息:
發(fā)布信息頁面:
<!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>發(fā)布信息</h1>
<?php
session_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">
<div> 接收人:
<select name="shou">
<option value="all">所有</option>
<?php
foreach ($ahaoyou as $v)
{
$name = aname($v[2]);
echo "<option value='{$v[2]}'>{$name}</option>";
}
?>
</select></div>
<br/>
<div>留言內容: <input type="text" name="lynr"/></div>
<br/>
<input type="submit" value="發(fā)送"/>
<input type="reset" value="清空"/>
</form>
<?php
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];
}
}
?>
<a href="zym.php" rel="external nofollow" >查看信息</a>
<a href="ddrr.php" rel="external nofollow" rel="external nofollow" onclick="return confirm('確定要退出此帳號?')">注銷登入</a>
</body>
</html>
最后就是發(fā)布信息的處理頁面:
<?php
session_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 "發(fā)布失敗!";
}
圖:

我用小花的賬號給小明發(fā)一條留言:
所以 登入小明的帳號
圖:

沒錯,他收到了小花的這條留言
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
echo, print, printf 和 sprintf 區(qū)別
echo, print, printf 和 sprintf 區(qū)別...2006-12-12
php+redis在實際項目中HTTP 500: Internal Server Error故障排除
用戶量快速增長,訪問量在短時間內翻倍,由于前期容量規(guī)劃做得比較好,硬件資源可以支撐,可是軟件系統(tǒng)方面出現了大問題:40% 的請求都會返回 HTTP 500: Internal Server Error2017-02-02

