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对象,即所有访问该网站 ...
随机推荐
- 终端中管理SVN服务器 上传、下载、更新【原创】
从服务器下载项目, 下面的命令意思是 将服务器中mycode仓库的内容下载到/Users/apple/Documents/test目录中 我的电脑名叫做MacBook,记得将这个名字改成你们的电脑名字 ...
- Linux 脚本点滴知识积累
1.以openwrt中的/etc/hotplug.d/button/00-button为例 . /lib/functions.sh do_button () { local button ---- ...
- vSphere共享存储全配置流程
1.Openfiler的安装 Openfiler 由rPath Linux驱动,它是一个基于浏览器的免费网络存储管理实用程序,可以在单一框架中提供基于文件的网络连接存储 (NAS) 和基于块的存储区域 ...
- 关于fork()父子进程返回值的问题
我们都知道,父进程fork()之后返回值为子进程的pid号,而子进程fork()之后的返回值为0.那么,现在就有一个问题了,子进程fork()的返回值是怎么来的?如果子进程又执行了一遍fork()函数 ...
- servlet部署到tomcat中
引用:http://blog.csdn.net/shuidao/article/details/1738059 配置,部署 servlet: 1. 在tomcat的安装目录下 找到webapps 文件 ...
- Vue实现远程获取路由与页面刷新导致404错误的解决
一.背景 先简单介绍一下现在项目情况:前后端分离,后端服务是Java写的,前端是Vue+ElementUI. 最近的一个需求是:通过后端Api去获取前端路由表,原因是每个登录角色对应的前端路由表可能是 ...
- HDU1712ACboy needs your help【分组背包】
ACboy needs your help Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- Eclipse集成resin服务器
就我遇到的问题来说吧: 1. resin-pro-4.0.36去官网下载,目前这是最新版,27M 2. Eclipse安装Resin服务器的插件 Help->Install New Soft-& ...
- Android无线测试之—UiAutomator UiDevice API介绍七
截图与等待空闲 一.截图和等待空闲相关知识: 1)图片缩放比例:例如图片从100像素缩小到50像素 2)图片质量:是指图片大小,质量越高图片越大,质量越低图片越小 3)File类:指的是一个文件或者一 ...
- PHP实现对短信验证码发送次数的限制(防机刷验证码)
PHP实现对短信验证码发送限制(防止机刷验证码) 对用户获取短信验证码的手机号.ip.和浏览器(使用唯一标识)进行限制.本文介绍的方法是对用户每天只能通过同一浏览器或同一ip地址获取验证码10次或者同 ...