部门内部留言板

一、语言和环境

实现语言

PHP

二、要求:

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

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

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

系统包含四部分功能

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

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

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

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

三、创建页面:

登录页面:

<body>
<form action="loginchuli.php" method="post">
<table width="500" border="1" bordercolor="#0066FF" cellpadding="1" cellspacing="1" >
<tr height="50" align="center" ><td colspan="2" ><font color="#0066FF" size="18" ><b>开发部内部留言板</b></font></td></tr>
<tr ><td align="right" width="200">用户名:</td><td><input type="text" name="uid" /></td></tr>
<tr ><td align="right" width="200">口令:</td><td><input type="password" name="pwd"/></td></tr>
<tr align="center"><td colspan="2"><input type="submit" value="登录" style="width:100px"/> <input type="reset" value="复位" style="width:100px"/></td></tr>
</table>
</form>
</body>

登录处理页面:

<?php
session_start();
$uid = $_POST["uid"];
$pwd = $_POST["pwd"];
include("../DB.class.php");
$db = new DB();
$sql = "select count(*) from YuanGong where UserName = '{$uid}' and PassWord = '{$pwd}'";
$r = $db->StrQuery($sql);
if($r==1)
{
$_SESSION["uid"] = $uid;
header("location:main.php");
}
else
{
header("location:login.php");
}

主页面(信息查看页面):可以查看接收人是自己或所有人的留言

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="../jquery-1.11.2.min.js"></script>
<script src="../tanchuang/tanchuang.js"></script> <style type="text/css">
a{ color:#00C;}
a:hover{ background-color:#F00; color:#CCC;}
.xq{ background-color:#06F; color:#FFF; }
.xq:hover{ background-color:#930; cursor:pointer;}
.biao{ width:300px; border:hidden; background-color:#9F9; color:#C30; }
</style>
<link href="../tanchuang/tanchuang.css" rel="stylesheet" type="text/css" />
</head> <body>
<div><a href="fabu.php">发布信息</a> &nbsp;&nbsp;<a href="tuichu.php">退出系统</a></div>
<h1>留言信息</h1>
<table width="900" border="1" bordercolor="#0066FF" cellpadding="1" cellspacing="1">
<tr>
<td>发送人</td>
<td>发送时间</td>
<td>接收人</td>
<td>信息内容</td>
<td>操作</td>
</tr>
<?php
session_start();
if(empty($_SESSION["uid"]))//如果为空,跳转到登录页面 //必须加判断
{
header("location:login.php");
exit;
}
$uid = $_SESSION["uid"];
include("../DB.class.php");
$db = new DB(); $sql = "select * from LiuYan where Receiver = '{$uid}' or Receiver='suoyou'" ;
$attr = $db->Query($sql);
foreach($attr as $v )
{
//处理发送者姓名
$sqlname = "select Name from YuanGong where UserName= '{$v[1]}'";
$name = $db->StrQuery($sqlname);
//处理接收者姓名
$receiver = "";
if($v[2]=="suoyou")
{
$receiver = "所有人";
}
else
{
$sqln = "select Name from yuangong where UserName = '{$v[2]}'";
$receiver = $db->StrQuery($sqln);
}
echo "<tr>
<td>{$name}</td>
<td>{$v[3]}</td>
<td>{$receiver}</td>
<td>{$v[4]}</td>
<td><span class='xq' bs='{$v[0]}'>查看详情</span> </td>
</tr>";
}
?>
</table>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(e) {
$(".xq").click(function(){
var ids= $(this).attr("bs");
$.ajax({
async:false,
url:"chakanxq.php",
data:{ids:ids},
type:"POST",
dataType:"TEXT",
success: function(data){
var lie =data.split("^");
var html = "<table class='biao' >";
html+="<tr><td align='right'>发送人:</td><td>"+lie[1]+"</td></tr>";
html+="<tr><td align='right'>发送时间:</td><td>"+lie[2]+"</td></tr>";
html+="<tr><td align='right'>接收人:</td><td>"+lie[3]+"</td></tr>";
html+="<tr><td align='right'>信息内容:</td><td>"+lie[4]+"</td></tr>";
html+="</table>";
var win = new Window({
//设置各个参数
width : 400, //宽度
height : 500, //高度
title : '详细信息', //标题
content : html, //内容
isMask : true, //是否遮罩
buttons : "", //按钮
isDrag:true, //是否移动
});
}
});
}) }); </script>

发布信息页面:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
a{ color:#00C;}
input{ width:100px; cursor:pointer;}
</style>
</head> <body>
<?php
session_start();
if(empty($_SESSION["uid"]))
{
header("location:login.php");
}
$uid = $_SESSION["uid"];
include("../DB.class.php");
$db = new DB();
?>
<div><a href="main.php">查看信息</a>&nbsp;&nbsp;<a href="tuichu.php">退出系统</a></div>
<h1>信息发送</h1>
<form action="fabuchuli.php" method="post">
<table width="500" border="1" bordercolor="#0033CC" cellpadding="1" cellspacing="1">
<tr><td align="right" width="200">接收人:</td>
<td><select name="receiver">
<option value="suoyou">所有人</option>
<?php
$sql = "select friend from friend where me = '{$uid}' ";//根据用户名从friend表中找出他的朋友的用户名
$attr = $db->Query($sql);
foreach($attr as $v)
{
//根据朋友的用户名从yuangong表中找出朋友的名字
$sqlname = "select Name from yuangong where UserName = '{$v[0]}'";
$name = $db->StrQuery($sqlname);
echo "<option value='{$v[0]}'>{$name}</option>";
}
?>
</select></td>
</tr>
<tr><td align="right">信息内容:</td><td><textarea name="comment"></textarea></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="发送" /> <input type="reset" value="复位" /></td></tr> </table>
</form>
</body>
</html>

发布信息处理页面:

<?php
session_start();
$sender = $_SESSION["uid"];
$receiver = $_POST["receiver"];
$comment = $_POST["comment"];
include("../DB.class.php");
$db = new DB(); $time = date("Y-m-d H:i:s",time());
$sql = "insert into LiuYan values('','{$sender}','{$receiver}','{$time}','$comment',false)";
if( $db->Query($sql,1))
{ header("location:fabu.php");
}
else
{
echo "信息发送失败!<br>";
echo "<a href='fabu.php'>返回</a>";
}

查看详情页面:弹窗插件

<?php
$ids = $_POST["ids"];
include("../DB.class.php");
$db = new DB();
$sql = "select * from LiuYan where Ids= $ids";
$attr = $db->Query($sql);
foreach($attr as $v)
{
//处理发送者姓名
$sqls = "select Name from yuangong where UserName = '{$v[1]}'";
$sender = $db->StrQuery($sqls);
//处理接收者姓名
$receiver = "";
if($v[2]=="suoyou")
{
$receiver = "所有人";
}
else
{
$sqlr = "select Name from yuangong where UserName = '{$v[2]}'";
$receiver = $db->StrQuery($sqlr);
}
echo "{$v[0]}^{$sender}^{$v[3]}^{$receiver}^{$v[4]}";
}

退出系统页面:清除session,跳转页面

<?php
session_start();
unset($_SESSION["uid"]);
header("location:login.php");

php......留言板的更多相关文章

  1. AngularJs学习笔记(制作留言板)

    原文地址:http://www.jmingzi.cn/?post=13 初学Anjularjs两天了,一边学一边写的留言板,只有一级回复嵌套.演示地址 这里总结一下学习的过程和笔记.另外,看看这篇文章 ...

  2. dd——留言板再加验证码功能

    1.找到后台-核心-频道模型-自定义表单 2.然后点击增加新的自定义表单 diyid 这个,不管他,默认就好 自定义表单名称 这个的话,比如你要加个留言板还是投诉建议?写上去呗 数据表  这个不要碰, ...

  3. asp.net留言板项目源代码下载

    HoverTree是一个asp.net开源项目,实现了留言板功能. 前台体验网址:http://hovertree.com/guestbook/ 后台请下载源代码安装. 默认用户名:keleyi 默认 ...

  4. html的留言板制作(js)

    这次留言板运用到了最基础的localstorage的本地存储,展现的效果主要有: 1.编写留言2.留言前可以编辑自己的留言昵称.不足之处: 1.未能做出我喜欢的类似于网易的叠楼功能. 2.未能显示评论 ...

  5. 11月8日PHP练习《留言板》

    一.要求 二.示例页面 三.网页代码及网页显示 1.denglu.php  登录页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...

  6. [课程设计]Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案)

    Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统W ...

  7. [课程设计]Scrum 3.6 多鱼点餐系统开发进度(用户测试反馈页面构思&留言板设计)

    Scrum 3.6 多鱼点餐系统开发进度(用户测试反馈页面构思&留言板设计) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团 ...

  8. 用 Express4 写一个简单的留言板

    Knowledge Dependence:阅读文本前,你需要熟悉 Node.js 编程.Express 以及相关工具和常用中间件的使用. Node.js 以其单线程异步非阻塞的特点,越来越被广大的 W ...

  9. 个人网页的留言板实现与sae的数据库账户配置

    个人网页(github)的留言板终于搞定了.总之后端的东西不会写,只有修改以前教程里面的文件.记录一下重要的过程. 使用了留言保存的send()函数,模版有注册登录功能.根据需求修改了一下,去掉了登录 ...

  10. jsp中运用application实现共享留言板功能

    jsp中application的知识点总结: 1.一个Web应用程序启动后,将会自动创建一个application对象,在整个应用程序的运行过程中只有这一个application对象,即所有访问该网站 ...

随机推荐

  1. java - day15 - NonameInner

    匿名内部类 public interface Inter {} interface Inter2{ void show(); } main(){ //错误,接口不能实例化 Inter t = new ...

  2. FAT32和NTFS最大支持的单个文件大小分别是多大?

    以前,RAID控制器和文件系统都有2TB的限制.控制器上的限制,主要是指每个LUN不能大于2TB,而磁盘组一般则没有这个限制:文件系统的限制主要是指每个分区(partition)不能大于2TB,不过3 ...

  3. Ubuntu vsftp复制文件到远端时错误,Permission denied

    Ubuntu 下复制文件到远端时错误,Permission denied 失败原因如下: (1)vsftp默认配置不允许上传文件 解决办法:修改配置文件 vi /etc/vsftpd.conf. 将& ...

  4. 大端BigEndian、小端LittleEndian与字符集编码

    BigEndian(大端):低字节在高内存地址 LittleEndian(小端):低字节在低内存地址 也就是看低字节在高内存地址还是低内存地址,也就是看低字节在前还是高字节在前,低字节在前自然是小端, ...

  5. A Survey of Shape Feature Extraction Techniques中文翻译

    Yang, Mingqiang, Kidiyo Kpalma, and Joseph Ronsin. "A survey of shape feature extraction techni ...

  6. 使用 JDB 调试器

    您可以使用调试 applet 或应用程序的 jdb 命令来调试 Servlet. 为了调试一个 Servlet,我们可以调试 sun.servlet.http.HttpServer,然后把它看成是 H ...

  7. Spring MVC密码处理

    以下示例显示如何在使用Spring Web MVC框架的表单中使用密码.首先使用Eclipse IDE来创建一个WEB工程,并按照以下步骤使用Spring Web Framework开发基于动态表单的 ...

  8. hdu 4587(割点的应用)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4587 思路:题目的意思很简单,就是删除任意2个节点以及关联的边,求图的最大连通分量数.我们知道删除割点 ...

  9. day11函数的进阶动态参数,命名空间,作用域,第一类对象

    一.习题收藏 5.写函数,计算传入字符串中[数字].[字母].[空格] 以及 [其他]的个数,并返回结果. # def func4(s): # dic = { # 'num':0,'alpha':0, ...

  10. 第9章 Docker Swarm 相关问题

    9.1 我的 Docker 版本是 1.12,请问我跑的是一代 Swarm 还是二代 Swarm 啊? ……自己运行的 Swarm 怎么会连自己都不知道跑的是啥?