部门内部留言板

一、语言和环境

实现语言

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 使用Date类、Calendar类,实现增加日期

    Date date= new Date(); System.out.println("Date date= new Date()中的date: "+date); 输出对象date: ...

  2. DataUml Design 介绍10 - DataUML 1.4版本功能(增加UML活动图和用例图)

    DataUml Design 1.4版本正式发布 1.解决软件自动关闭的问题 2.增加UML活动图和用例图功能 详细介绍稍后继续...........................

  3. D - Sigma Function 1~n内有多少个约数和为偶数

    /** 题目:D - Sigma Function 链接:https://vjudge.net/contest/154246#problem/D 题意:求1~n内约数和为偶数的数的个数. 思路:一个数 ...

  4. android中通过代码来设置蓝牙永久可见性

    废话不多说,直接阐述: 前段时间在搞一个android项目,其中有一个功能要求需要蓝牙可见性永久打开,但是开发过android蓝牙的程序员应该都知道,goole提供的api中没有设置蓝牙永久可见性的接 ...

  5. python之filter()函数

    filter()函数是python内置的一个高阶函数. filter()函数接受一个函数f 和一个list,这个函数f的作用是对每个元素进行判断,返回True或False,filter()根据判断结果 ...

  6. Servlet 编写过滤器

    Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息. 可以将一个或多个 Servlet 过滤器附加到一个 Servlet 或一组 Servlet.Servlet 过滤 ...

  7. python XML基础

    什么是XML XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 的标签需要 ...

  8. [转]Java中怎样把数组转换为ArrayList

    方法汇总: Element[] array = {new Element(1),new Element(2),new Element(3)}; ArrayList<Element> arr ...

  9. 如何通过PHP判断年份是否是闰年----两种方法

    1.定义:闰年是对4取余为0,对100取余不等于0,对400取余等于0的年是闰年. 2.代码: 第一种方法:直接函数判断 $day = date('Y'); if ($day%4==0&&am ...

  10. OKhttp3

    针对上一博文订单调用用户使用默认数据交互方式,下面介绍下使用 Okhttp3网络数据交换方式. 1.订单启动类变化 package com.tycoon.orderService; import or ...