php......留言板
部门内部留言板
一、语言和环境
实现语言
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> <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> <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......留言板的更多相关文章
- AngularJs学习笔记(制作留言板)
原文地址:http://www.jmingzi.cn/?post=13 初学Anjularjs两天了,一边学一边写的留言板,只有一级回复嵌套.演示地址 这里总结一下学习的过程和笔记.另外,看看这篇文章 ...
- dd——留言板再加验证码功能
1.找到后台-核心-频道模型-自定义表单 2.然后点击增加新的自定义表单 diyid 这个,不管他,默认就好 自定义表单名称 这个的话,比如你要加个留言板还是投诉建议?写上去呗 数据表 这个不要碰, ...
- asp.net留言板项目源代码下载
HoverTree是一个asp.net开源项目,实现了留言板功能. 前台体验网址:http://hovertree.com/guestbook/ 后台请下载源代码安装. 默认用户名:keleyi 默认 ...
- html的留言板制作(js)
这次留言板运用到了最基础的localstorage的本地存储,展现的效果主要有: 1.编写留言2.留言前可以编辑自己的留言昵称.不足之处: 1.未能做出我喜欢的类似于网易的叠楼功能. 2.未能显示评论 ...
- 11月8日PHP练习《留言板》
一.要求 二.示例页面 三.网页代码及网页显示 1.denglu.php 登录页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...
- [课程设计]Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案)
Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统W ...
- [课程设计]Scrum 3.6 多鱼点餐系统开发进度(用户测试反馈页面构思&留言板设计)
Scrum 3.6 多鱼点餐系统开发进度(用户测试反馈页面构思&留言板设计) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团 ...
- 用 Express4 写一个简单的留言板
Knowledge Dependence:阅读文本前,你需要熟悉 Node.js 编程.Express 以及相关工具和常用中间件的使用. Node.js 以其单线程异步非阻塞的特点,越来越被广大的 W ...
- 个人网页的留言板实现与sae的数据库账户配置
个人网页(github)的留言板终于搞定了.总之后端的东西不会写,只有修改以前教程里面的文件.记录一下重要的过程. 使用了留言保存的send()函数,模版有注册登录功能.根据需求修改了一下,去掉了登录 ...
- jsp中运用application实现共享留言板功能
jsp中application的知识点总结: 1.一个Web应用程序启动后,将会自动创建一个application对象,在整个应用程序的运行过程中只有这一个application对象,即所有访问该网站 ...
随机推荐
- SecureCRT中的vim出现1H特殊字符
问题原因:由于采用了UTF_8编码方式导致的. 解决方法:把字符编码改为:GB18030即可.如图:
- virtualBox centos 6.x不能联网
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet UUID=3323da63---89bb-92 ...
- MacOS 自带文件编码格式转换工具
[命令功能]iconv 是Linux操作系统用于将文本编码格式从一种转外另外一种的工具命令.[使用方法] iconv [OPTION...] [-f ENCODING] [-t ENCODING] [ ...
- sessionstorage:本地临时存储
HTML5 web存储有两个重要对象: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储(关闭窗口,存储的数据清空) 一般涉 ...
- 巧用批处理cmd快速切换IP地址
如果你的笔记本经常在不同的地方使用,有些地方需要自动获取IP,而有些地方需要配置固定IP,每换一个地方都需要重新配置一遍,是不是感觉很麻烦呢? 下面介绍一种通过建立批处理文件来快速切换IP的方法: s ...
- 苯(Benzene)
在常温下是甜味.可燃.有致癌毒性的无色透明液体,其密度小于水,但分子质量大于水,并带有强烈的芳香气味.它难溶于水,易溶于有机溶剂,本身也可作为有机溶剂.苯是一种石油化工基本原料,其产量和生产的技术水平 ...
- Spring MVC下拉选项(Select)
以下示例显示如何在使用Spring Web MVC框架的表单中使用下拉选项(Dropdown).首先使用Eclipse IDE来创建一个WEB工程,实现一个让用户可选择自己所在的国家的功能.并按照以下 ...
- knockout Ajax异步无刷新分页 Demo +mvc+bootstrap
最近工作中web客户端需要用到knockout,在此记录下一些Demo,以后用到的时候查找起来方便.也希望给新入门的knockout使用者一点经验.knockout官方文档.这儿是一个使用knocko ...
- hdu 3622(二分+2-sat判断可行性)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3622 思路:二分是容易想到的,由于题目中有明显的矛盾关系,因此可以用2-sat来验证其可行性.关键是如 ...
- mysql 年龄计算(根据生日)
生日(DATE) 计算方法1: ))) 计算方法2: year( from_days( datediff( now( ), birthdate))) now() 当前时间,精确到秒 datediff( ...