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对象,即所有访问该网站 ...
随机推荐
- 升级/安装主题插件提示权限不足 输入FTP解决办法
在VPS上升级WordPress的时候遇到了权限不足的问题,情况如下: 经过查找发现,是由于升级程序没有权限更改WordPress的目录导致的,解决的方法也很容易,只需要ssh到vps,运行 chow ...
- 自己动手写ORM(01):解析表达式树生成Sql碎片
在EF中,我们查询数据时可能会用拉姆达表达式 Where(Func<T,ture> func)这个方法来筛选数据,例如,我们定义一个User实体类 public class User { ...
- node c++ addon注意事项
The module_name needs to match the filename of the final binary (minus the .node suffix).
- python3----strip lstrip rstrip
Python中的strip用于去除字符串的首位字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符.这三个函数都可传入一个参数,指定要去除的首尾字符.注意的是,传入的是一个字符数 ...
- day6笔记
一.上节回顾 list:li = [1,2,3,5,'a']增加:append:末尾加入==追加 insert:插入,在任意位置,insert(index,'内容') extend:迭代着加入,'as ...
- Yii2 Queue队列
github地址:https://github.com/yiisoft/yii2-queue 问题:https://github.com/yiisoft/yii2-queue/issues Jobs ...
- class 中构造函数与析构函数
import pymysql class My_sql(): def __init__(self, host, user, passwd, db, port=3306, charset='utf8') ...
- 关于new HashMap<>(1)中1的理解(hashMap的加载因子)
新入公司,阅读代码的时候发现了一行代码,为 Map<String, String> map=new HashMap<>(1); 对于这个括号里面的1不能理解,于是查了资料,大概 ...
- [Docker]学习笔记--简单介绍
学习docker已经有一段时间了,一直没有静下心来好好总结一下. 最近用docker搭了一整套Gitlab的持续集成环境.(会在下一篇中详细的讲解具体步骤,敬请期待) 感觉是时候写点东西和大家一起分享 ...
- 《从零开始学Swift》学习笔记(Day 47)——final关键字
原创文章,欢迎转载.转载请注明:关东升的博客 在类的定义中使用final关键字声明类.属性.方法和下标.final声明的类不能被继承,final声明的属性.方法和下标不能被重写. 下面看一个示例: f ...