PHP實現留言板功能:
1 首先是登入頁面:
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>留言板登入</title> <script src="bootstrap/js/jquery-1.11.2.min.js"></script> <script src="bootstrap/js/bootstrap.min.js"></script> <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/> </head> <style> .header{ margin-left: 550px; margin-top: 150px; height: 300px; max-width: 300px; } .xiugai{ max-width: 200px; } .login{ margin-top: 10px; } </style> <body> <form action="messloginchuli.php" method="post"> <p class="header"> <h2>開發部內部留言板</h2> <p class="input-group xiugai"> <span class="input-group-addon" style="margin-top: 20px;">使用者名稱:</span> <input type="text" class="form-control" name="uid" placeholder="請輸入使用者名稱"> </p> <p class="input-group xiugai" style="margin-top: 10px;"> <span class="input-group-addon">口令:</span> <input type="text" class="form-control" name="pwd" placeholder="請輸入口令"> </p> <button type="submit" class="btn btn-success login">登入</button> </p> </form> </body></html>
2 登入頁面完成後要進入登入處理頁面了,也就是上面提交到的messloginchuli.php
<?phpsession_start(); // 登入之後要把所包含登入的頁面串連起來,開啟session$uid = $_POST["uid"]; $pwd = $_POST["pwd"]; require_once "./DBDA.class.php"; $db = new DBDA(); $sql = "select password from yuangong where username=' { $uid}'"; $arr = $db->query($sql,0); //var_dump($arr[0][0]); if($arr[0][0]=$pwd && !empty($pwd)) { $_SESSION["uid"]=$uid; header("location:message.php");}?>
登入頁面效果
3.登入完成後是進入首頁面,也就是顯示自己收到的對話內容,下面是設計的資料庫的表格和首頁面的代碼:
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script src="bootstrap/js/jquery-1.11.2.min.js"></script> <script src="bootstrap/js/bootstrap.min.js"></script> <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/> </head> <style> .mess{ max-width: 800px; margin-left: 250px; margin-top: 150px; } </style> <body> <?php session_start(); $uid = $_SESSION["uid"]; if(empty($_SESSION["uid"])){ header("location:messlogin.php"); exit; } ?> <p style="margin-left: 880px; margin-top: 50px;font-size: 20px;" > <a href="publish_info.php" >發布資訊</a> <a href="tuichuchuli.php">退出系統</a> </p> <table class="table table-bordered mess" style="margin-top: -40px;"> <caption style="font-size: 20px;"> 留言資訊: </caption> <thead> <tr> <th>發送人</th> <th>發送時間</th> <th>接收人</th> <th>資訊內容</th> </tr> </thead> <tbody> <?php require_once "./DBDA.class.php"; $db = new DBDA(); $sql = "select * from liuyan where recever='{$uid}' or recever='all'"; $arr = $db->query($sql,0); foreach($arr as $v){ echo "<tr> <td>{$v[1]}</td> <td>{$v[2]}</td> <td>{$v[3]}</td> <td>{$v[4]}</td> </tr>"; } ?> </tbody> </table> </body></html>
退出登入系統實現使用者登出,返回登入頁面功能代碼如下:
<?phpsession_start(); $uid = $_SESSION["uid"]; unset($uid); header("location:messlogin.php");?>
代碼寫到這裡,比較重要的部分就完成了,下面是要進入發布資訊頁面了,相當於之前寫的添加的頁面,其處理頁面也是和之前沒什麼區別的,差別在於現在的處理頁面是在使用者登入的情況下操作的,需要用session把所有的登入情況下的頁面串連起來
首頁面效果
4.最後是資訊發佈頁面,可以給任何人發送資訊
代碼如下:
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>發布資訊介面</title> <script src="bootstrap/js/jquery-1.11.2.min.js"></script> <script src="bootstrap/js/bootstrap.min.js"></script> <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/> </head> <style> .mess { max-width: 200px; margin-top: 10px;}.mess1 { margin-top: 10px;}.opt { max-width: 200px; margin-left: 80px;}.txt { max-width: 200px;}</style> <body><?phpsession_start(); $uid = $_SESSION["uid"]; if (empty($_SESSION["uid"])) { header("location:messlogin.php"); exit ;}?> <p style="margin-left: 500px; margin-top: 150px; "> <p style="margin-left: 60px; margin-bottom: 20px; font-size: 20px; " > <a href="message.php" >查看資訊</a> <a href="seemess.php" style="margin-left: 80px; " >查看發送資訊</a> </p> <form class="form-horizontal" role="form" action="infochuli.php" method="post"> <p class="form-group"> <label for="firstname" class="col-sm-2 control-label mess1">接收人:</label> <p class="form-group "> <select class="form-control opt" name="recever"> <option value="all">所有人</option> <?php require_once "./DBDA.class.php"; $db = new DBDA(); //這裡可以給特定的朋友發送資訊的sql語句 //$sql = "select firend.firend,yuangong.name from firend,yuangong where firend.firend //= yuangong.username and firend.me = ' { $uid}'"; $sname = "select * from yuangong where username not in (' { $uid}')"; $arr = $db->query($sname,0); //var_dump($arr[0][2]); foreach($arr as $v) { echo "<option value=' { $v[0]}'> { $v[2]}</option>";}?> </select> </p> </p> <p class="form-group"> <label for="lastname" class="col-sm-2 control-label mess1">資訊內容:</label> <p class="col-sm-10"> <textarea class="form-control txt" rows="3" name="content"></textarea> </p> </p> <p class="form-group"> <p class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-default"> 發送 </button> </p> </p> </form> </p> </body></html>
發資訊頁面
5.發布資訊完成後要進入處理頁面了,也就是提交到的infochuli.php,最後返回傳送資訊介面
<?phpsession_start(); $uid = $_SESSION["uid"]; $recever = $_POST["recever"]; $content = $_POST["content"]; $arr = $_POST["recever"]; $t = date("Y-m-d H:i:s"); require_once "./DBDA.class.php"; $db = new DBDA(); $sql = "insert into liuyan values('',' { $uid}',' { $t}',' { $recever}',' { $content}',0)"; $arr = $db->query($sql); if($arr && !empty($arr)) { header("location:publish_info.php");}else { echo "發送失敗!";}?>