练习-----部门内部留言板(0526)

题目:部门内部留言板

一、语言和环境

实现语言:PHP

二、要求:

本软件是作为部门内员工之间留言及发送消息使用。

系统必须通过口令验证,登录进入。方法是从数据库内取出用户姓名和口令的数据进行校验。

用户管理的工作(比如增加,删除,修改用户)通过直接对数据库操作实现,不在本系统中实现,可以自行在数据库用户表中增加测试数据。

系统包含四部分功能

1 登录:验证用户名与口令,保存会话信息,进入<>主界面。

2 退出:退出使用状态,清空会话信息,返回登录界面。

3 信息查询:显示给当前登录人留的信息以及公共信息(给所有人发送)。

4 发信息:当前登录人员用来给其他人发信息的功能。信息的内容包括:信息的编号(自动编号),发送人,信息内容,接收人,发送时间等,可以发给所有人,也可以发给某个人。

 

登录页面:login.php

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>登录</title>
 6 </head>
 7 
 8 <body>
 9 <form action="loginchu.php" method="post">
10 <table width="30%" border="2" bordercolor="#00CCFF" cellpadding="2" cellspacing="2" align="center" >
11 <tr align="center"><td colspan="2"><font color="#0000FF"><h1>开发部内部留言板</h1></font></td></tr>
12 <tr align="center"><td align="right" width="50%">用户名:</td><td align="left"><input type="text" name="username"></td></tr>
13 <tr align="center"><td align="right">口令:</td><td align="left"><input type="text" name="password"></td></tr>
14 <tr><td colspan="2"><center><input type="submit" value="登录">&nbsp;<a href="login.php"><input type="button" value="复位"></a></center></td></tr>
15 </table>
16 </form>
17 </body>
18 </html>
View Code

登录处理页面:loginchu.php

 1 <?php
 2 //处理登录
 3 session_start();
 4 
 5 $username=$_POST["username"];
 6 
 7 $password=$_POST["password"];
 8 
 9 include("../DBDA.class.php");
10 $db=new DBDA();
11 
12 $sql="select count(*) from YuanGong where UserName='{$username}' and PassWord='{$password}'";
13 
14 $r=$db->StrQuery($sql);
15 if($r==1)
16 {
17         $_SESSION["username"]=$username;
18         header("location:main.php");
19         
20     }
21 else
22 {
23     header("location:login.php");
24     }
View Code

运行页面:

 

主页面:main.php

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>留言</title>
 6 </head>
 7 
 8 <body>
 9 
10 <div>
11     <a href="message.php">发布信息</a>&nbsp; &nbsp;&nbsp;&nbsp;
12     <a href="tuichu.php">退出系统</a>
13 </div><br />
14 <div>留言信息:</div><br />
15 <table width="100%" border="2" bordercolor="#00CCFF" cellpadding="2" cellspacing="2">
16 <tr>
17     <td>发送人</td>
18     <td>发送时间</td>
19     <td>接收人</td>
20     <td>信息内容</td>
21     <td>接收状态</td>
22 </tr>
23 
24 <?php
25 session_start();
26 
27 include ("../DBDA.class.php");
28 $db=new DBDA();
29 
30 if(empty($_SESSION["username"]))
31 {
32     header("location:login.php");
33     exit;
34     }
35 $username=$_SESSION["username"];
36 
37 
38 $sql="select * from LiuYan where Recever='{$username}' or Recever='suoyou'";
39 $attr=$db->Query($sql);
40 foreach($attr as $v)
41 {
42     //处理发送者姓名
43     $sqlfa="select Name from YuanGong where UserName='{$v[1]}'";
44     $namefa=$db->StrQuery($sqlfa);
45     //处理接收者姓名(接收者是登录者)
46     $namejie="";
47     if($v[2]=="suoyou")
48     {
49         $namejie="所有人";    
50     }
51     else
52     {
53     $sqljie="select Name from YuanGong where UserName='{$username}'";
54     $namejie=$db->StrQuery($sqljie);
55     }
56     
57     $zt="";
58     if($v[5]==1)
59     {
60         $zt="<span style='color:yellow'>已接收</span>";
61         }
62     else
63     {
64         $zt="<span style='background-color:yellow'><a href='jieshou.php?ids={$v[0]}'>未接收</a></span>";
65         }
66     
67     echo "<tr>
68     <td>{$namefa}</td>
69     <td>{$v[3]}</td>
70     <td>{$namejie}</td>
71     <td>{$v[4]}</td>
72     <td>{$zt}</td>
73     </tr>";    
74 }
75 
76 ?>
77 </table>
78 </body>
79 </html>
View Code

运行页面:

 

发送信息页面:message.php

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 
 6 <title>发消息</title>
 7 </head>
 8 
 9 <body>
10 <?php
11 session_start();
12 if(empty($_SESSION["username"]))
13 {
14     header("location:login.php");    
15 }
16 $username=$_SESSION["username"];
17 include ("../DBDA.class.php");
18 $db=new DBDA();
19 
20 ?>
21 <div >
22     <a href="main.php">查看信息</a>&nbsp;&nbsp;&nbsp;&nbsp;
23     <a href="tuichu.php">退出系统</a>
24 </div><br />
25 
26 <div>信息发送:</div><br />
27 <form action="messagechu.php" method="post">
28 <table width="30%" border="2" bordercolor="#00CCFF" cellpadding="2" cellspacing="2" >
29 
30 <tr><td align="right">收件人:</td><td align="left">
31   <select name="recever">
32       <option value="suoyou">所有人</option>
33     <?php
34         //根据用户名找对应的好友
35         $sql="select Friend from Friend where Me='{$username}'";
36         $attr=$db->Query($sql);
37         foreach($attr as $v)
38         {
39             $sql1="select Name from YuanGong where UserName='{$v[0]}'";        
40             $r=$db->StrQuery($sql1);
41             echo "<option value='{$v[0]}'>{$r}</option>";
42         }
43     ?>
44   </select>
45 </td></tr>
46 
47 <!--<tr><td align="right">收件人:</td><td align="left"><input type="text" name="recever" value="{$sender}" ></td></tr> -->
48 <tr><td align="right">信息内容:</td><td align="left"><textarea rows="3" cols="25" name="content"></textarea></td></tr>
49 <tr align="center"><td colspan="2"><input type="submit" value="发送">&nbsp;<a href="message.php"><input type="button" value="复位"></a></td></tr>
50 </table>
51 </form>
52 
53 </body> 
54 </html>
View Code

信息处理页面:messagechu.php

 1 <?php
 2 session_start();
 3 
 4 $sender=$_SESSION["username"];
 5 $recever=$_POST["recever"];
 6 $content=$_POST["content"];
 7 $rq = date("Y-m-d H:i:s",time());
 8 
 9 include("../DBDA.class.php");
10 $db=new DBDA();
11 
12 $sql="insert into LiuYan values ('','{$sender}','{$recever}','{$rq}','{$content}',false)";
13 echo $sql;
14 
15 
16 $r=$db->Query($sql,1);
17 if($r)
18 {
19     header("location:main.php");
20     }
21 else
22 {
23     header("location:message.php");
24     }
View Code

运行页面:

退出系统处理页面:

1 <?php
2 
3 session_start();
4 
5 unset($_SESSION["username"]);//清空
6 
7 header("location:login.php");
View Code

接受状态处理页面:

 1 <?php
 2 $ids=$_GET["ids"];
 3 
 4 include("../DBDA.class.php");
 5 $db=new DBDA();
 6 
 7 $sql="update LiuYan set States=true where Ids='{$ids}'";
 8 
 9 if($db->Query($sql,1))
10 {
11     header("location:main.php");
12     }
13 else
14 {
15     echo "接受失败!";
16     }
View Code

 

 

注意内容:

在给所有人发送信息时如何处理:

 

<tr><td align="right">收件人:</td><td align="left">
  <select name="recever">
      <option value="suoyou">所有人</option>
    <?php
        //根据登陆的用户名找对应的好友
        $sql="select Friend from Friend where Me='{$username}'";
        $attr=$db->Query($sql);
        foreach($attr as $v)
        {
        //将找出的用户名转换成对应的姓名
$sql1="select Name from YuanGong where UserName='{$v[0]}'"; $r=$db->StrQuery($sql1); echo "<option value='{$v[0]}'>{$r}</option>"; } ?> </select> </td></tr>

 

posted @ 2016-05-26 20:37  陌上初薰  阅读(677)  评论(0编辑  收藏  举报