php實現(xiàn)留言板功能
這個小小的留言板功能適合班級內(nèi)或者公司內(nèi)部之間的討論,對話和留言,非常的方便,更重要的是無需網(wǎng)絡(luò),對于公司管理層來說是非常樂于常見的,
下面是這個留言板的寫法:
1 首先是登錄頁面:
<form action="chuli.php" method="post"> <div style="margin-left: 500px; margin-top: 200px; height: 250px; width: 250px">/*為了把登錄表放到頁面中間,比較美觀*/ <h1>公司內(nèi)部留言板</h1> <div style="margin-top: 20px">用戶名:<input type="text" name="username"/></div><br/> <div>密 碼:<input type="password" name="password"/></div><br/> <div><input type="submit" value="登錄"/></div> </div> </form>
2 登錄頁面完成后要進(jìn)入登錄處理頁面了,也就是上面提交到的chuli.php
<?php
session_start(); // 登錄之后要把所包含登錄的頁面連接起來,開啟session
include("DADB.class.php");
$db=new DADB();
$user=$_POST["username"];
$pwd=$_POST["password"];
$sql="select password from yuangong where username='{$user}'";
$arr=$db->Query($sql);
if($arr[0][0]==$pwd && !empty($pwd))
{
$_SESSION["username"]=$user;
header("location:main.php");
}
else
{
echo"登錄失敗";
}
?>
如圖所示,是登錄頁面

3.登錄完成后是進(jìn)入主頁面,也就是顯示自己收到的對話內(nèi)容,下面是設(shè)計的數(shù)據(jù)庫的表格和主頁面的代碼:



<body>
<div><h3><a href="fabu.php" rel="external nofollow" >發(fā)布信息</a>
<a href="tuichu.php" rel="external nofollow" >退出系統(tǒng)</a></h3> </div>
<br/><br/>
<h2>留言信息:</h2>
<table cellpadding="0" cellspacing="0" border="1" width="60%">
<tr>
<td>發(fā)送人</td>
<td>接收人</td>
<td>發(fā)送時間</td>
<td>信息內(nèi)容</td>
</tr>
<?php
session_start();
if(empty($_SESSION["username"]))
{
header("location:login.php");
}
$user=$_SESSION["username"];
include("DADB.class.php");
$db=new DADB();
$sql="select * from liuyan where recever='$user' or recever='all' ";
$arr=$db->Query($sql);
foreach($arr as $v)
{ $fjr=uname($v[1]);
$jsr=uname($v[2]);
echo"<tr>
<td>{$fjr}</td> //發(fā)送人和接收人要用到姓名,所以這里我們調(diào)用了一個方法
<td>{$jsr}</td>
<td>{$v[3]}</td>
<td>{$v[4]}</td>
</tr>";
}
function uname($user) //運(yùn)用了uname方法
{
global $db; //要想方法里面也可以用$db 這里用了全局變量
if($user=="all")
{
return "所有人";
}else
{
$sql1="select name from yuangong where username='{$user}'";
$att=$db->Query($sql1);
return $att[0][0];}
}
?>
</table>
</body>
4代碼寫到這里,比較重要的部分就完成了,下面是要進(jìn)入發(fā)布信息頁面了,相當(dāng)于之前寫的添加的頁面,其處理頁面也是和之前沒什么區(qū)別的,差別在于現(xiàn)在的處理頁面是在用戶登錄的情況下操作的,需要用session把所有的登錄情況下的頁面連接起來

<h1>發(fā)布信息</h1>
<a href="main.php" rel="external nofollow" >主頁面</a>
<br />
<br />
<?php
session_start();
if(empty($_SESSION["username"]))
{
header("location:login.php");
exit;
}
$user = $_SESSION["username"];
include("DADB.class.php");
$db = new DADB();
$shaoyou = "select * from firend where me='{$user}'";
$ahaoyou = $db->Query($shaoyou);
?>
<form action="fabuchuli.php" method="post">
<div>接收人:
<select name="jsr">
<option value="all">所有人</option>
<?php
foreach($ahaoyou as $v)
{
$name = uname($v[2]);
echo "<option value='{$v[2]}'>{$name}</option>";
}
?>
</select>
</div>
<br />
<div>
信息內(nèi)容:<textarea name="neirong"></textarea>
</div><br />
<input type="submit" value="發(fā)送" />
</form>
<?php
function uname($user)
{
global $db;
if($user=="all")
{
return "所有人";
}
else
{
$sql1 = "select name from yuangong where username='{$user}'";
$att = $db->Query($sql1);
return $att[0][0];
}
}
?>
</body>
//這是發(fā)布頁面的代碼 和添加頁面的代碼相似
<?php
<?php
session_start();
$re=$_POST["jsr"];
$comment=$_POST["neirong"];
$time=date("Y-m-d H:i:s"); //獲取當(dāng)前時間
$_SESSION["username"]=$user;
include("DADB.class.php");
$db=new DADB();
$sql="insert into liuyan VALUES ('','{$user}','{$jsr}','{$time}','{$comment}',false)";
if($db->Query($sql,0))
{
header("location:main.php");
}
else{
echo"發(fā)布失敗";
}
?>
?>
一個簡單的留言板已經(jīng)完成了,退出的時候需要清除session 并且返回到登錄頁面
//退出頁面代碼
<?php
session_start();
unset($_SESSION["username"]);
header("location:login.php");
?>
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
PHP中遍歷stdclass object的實現(xiàn)代碼
從網(wǎng)上查到的方法是 用get_object_vars 把類類型轉(zhuǎn)換成數(shù)組 然后在用 foreach 遍歷即可2011-06-06
PHP中file_exists與is_file,is_dir的區(qū)別介紹
很顯然file_exists是受了asp的影響,因為asp不但有fileExists還有folderExists,driverExists,那么PHP中file_exists是什么意思呢2012-09-09

