php mysql实现留言板功能_用php(session)实现留言板功能----2017-05-09

要实现留言功能,发送者和接受者必不可少,其次就是留言时间留言内容。

要实现的功能:

1、登录者只能查看自己和所有人的信息,并能够给好友留言

2、留言板页面,好友采取下拉列表,当留言信息为空时,显示提示,并停留在当前页面

3、查看过的信息,消息显示已读

4、用$_SESSION[]获取登陆者,并用$_SESSION[]防止用户绕过登录直接进入主页面

第一步建数据库:

需要用到的三张表分别为:friend表,yuangong表,chenai表

yuangong表:

ba436e1fe9f2d667f740e0a0999ab0c1.png

friend表:

29c3820e8ab254cfa223c218492dd107.png

chenai表

6080f5084c7ddfbb1feb9f116b59f1de.png

第二步写登录页面:

1、denglu.php

效果图:(简单)

0e8c202dc30a217569f88f21bfc8d9d9.png

代码:

.aa{

height:200px;

width:300px;

margin:100px auto;

border:1px solid black;

text-align:center;

line-height:20px;

padding-top:50px;

}

用户名:
  密码:

2、登录页面的处理页面chuli.php

session_start(); //开始会话控制

$users = $_POST["username"];

$pwd = $_POST["pwd"];

require "DB.class.php";

$db = newDB();

$sql = "select password from yuangong where UserName = '{$users}'";

//echo $sql;

$arr = $db->query($sql);

//判断用户名和密码是否和数据库匹配

if(count($arr)){

if($arr[0][0]==$pwd && !empty($pwd)){

$_SESSION["username"]="$users"; //存取数据,便于后面的php页面调用

header("location:main.php");

}

}

?>

第三步主页面main.php

效果图:

9bd0f797a1ae447ff1b27c339e594ffc.png

注:如上图所示:“陈一“为登陆者,故此处为陈一,显示的都是陈一接收到的信息。

代码如下:

//防止用户绕过登录

session_start();

if(empty($_SESSION["username"]))

{

header("location:denglu.php");

exit;

}

require "DB.class.php";

$db = newDB();

$zr = $_SESSION["username"];

//显示登录者,并据此只显示接收者是登陆者的留言和群发的留言

$sql2 = "select name from yuangong where username ='{$zr}'";

$arr2 = $db->query($sql2);

$zr = $arr2[0][0]; //取出员工表中username ='{$zr}'的name

echo $zr.",请查看您的留言信息:";

?>

发送人接收人发送时间信息内容是否已读

//遍历输出属于登陆者的留言和群发消息

$sql ="select * from chenai where Receiver = '{$zr}' or receiver = 'all'";

$arr = $db->query($sql);

foreach($arr as $v){

//当为群发时,显示所有人,不显示all. 如果前面为汉字“所有人”,则不需要此步骤

if($v[2]=="all"){$v[2]="所有人";}

// 实现状态的转变

//var_dump($v[5]);

$str = "";

if($v[5])

{

$str = "已读";

}

else{

$str = " 未读";

}

echo"

{$v[1]}{$v[2]}{$v[3]} {$v[4]} {$str}";

}

?>

返回留言页面 退出系统

第四步写留言页面:

1、发布页面fabu.php

效果图:

a645b992b647b7d31e1e791472717826.png

888743098b109b9841bd15c2ba056014.png

实现功能:

下拉列表是陈一的好友

留言板内容不能为空!

代码如下:

.aa{

height:100px;

width:300px;

margin:0px auto;

}

.bb{

height:200px;

width:300px;

margin:0px auto;

}

  留言板

session_start();

if(empty($_SESSION["username"]))

{

header("location:denglu.php");

exit;

}

require "DB.class.php";

$db = newDB();

$username= $_SESSION["username"];

//获取发送者

$sql3 = "select name from yuangong where username='{$username}'";

$arr3 = $db->query($sql3);

$lyz= $arr3[0][0];

echo "欢 迎 ".$lyz.", 请 留 言!";

?>

接收人:

$sql4 = "select Friend from friend where me='{$lyz}'";

echo $sql4;

$arr4 = $db->query($sql4);

var_dump($arr4);

foreach($arr4 as $v){

echo"{$v[0]}";

}

?>

All

留言:

返回登录页面

查看我的留言

functionpanduan(){

var a = document.getElementById("cc").value;

if(a=="")

{

//给提示

alert ("留言不能为空,您难道对您的好友这么无语么?哈哈请重新输入!");

//页面不跳转

document.getElementById("bb").removeAttribute("action");

}

}

2、发布处理页面:nr-chuli.php

session_start();

$_SESSION["username"];

if(empty($_SESSION["username"]))

{

header("location:denglu.php");

exit;

}

$receive = $_POST["receive"];

$comment = $_POST["nr"];

$t=date("Y-m-d H:i:s");

$sender = $_SESSION["username"];

//var_dump($sender);

require "DB.class.php";

$db = newDB();

//获取发送者

$sql = "select name from yuangong where username='{$sender}'";

$arr = $db->query($sql);

$sender = $arr[0][0];

//var_dump($arr);

//往chenai表里添加信息

$sql2 = "insert into chenai values ('','$sender','$receive','$t','$comment',0)";

if($db->query($sql2,0))

{

echo "留言成功!";

}

echo " 继续留言 ";

echo " 查看我的留言 ";

?>

第五步:信息处理页面xx-chuli.php

9bd0f797a1ae447ff1b27c339e594ffc.png

94cb1a7f7e998250da6afb5772ff64d6.png

d70a02aca4112c7adac78368422dc409.png

实现功能:点击最后一条留言内容,跳转到上面第二图,返回我的留言查看会发现最后一条信息变成已读

代码如下:

.aa{

height:200px;

width:300px;

margin-left:100px;

border:1px solid black;

}

session_start();

$ids = $_GET["ids"];

$zrname=$_SESSION["username"];

//防止用户绕过登录

if(empty($_SESSION["username"]))

{

header("location:denglu.php");

exit;

}

//var_dump($ids);

//var_dump($_SESSION["username"]);

require "DB.class.php";

$db =newDB();

//调取登陆者的姓名

$sql = "select name from yuangong where username = '{$zrname}'";

$arr = $db->query($sql);

$zrname=$arr[0][0];

//var_dump($zrname);

//获取发送者的姓名

$sql2 = "select sender from chenai where ids='{$ids}'";

$arr2 = $db->query($sql2);

$name=$arr2[0][0];

//var_dump($name);

echo $zrname.", 这是".$name."给您的留言:"." ";

$sql3 = "select comment from chenai where ids='{$ids}'";

$arr3 = $db->query($sql3);

$nr=$arr3[0][0];

echo "

{$nr}
";

//改变是否已读的状态

$sql4 = "update chenai set states=1 where ids='{$ids}'";

$db->query($sql4,0);

//echo "我的留言";

// 这样也可以传值

//echo "去留言";

?>

我的留言

去留言

如果不想查看内容,可直接点击未读也可以转成已读:zt-chuli.php

$ids = $_GET["ids"];

require "DB.class.php";

$db =new DB();

$sql = "update chenai set states=1 where ids='{$ids}'";

var_dump($db->query($sql,0));

if($db->query($sql,0)){

header("location:main.php");

}

?>

第六步退出登录exit.php

session_start();

unset($_SESSION["username"]);

header("location:denglu.php");

?>

到这一步,一个简单的留言功能就可以实现了~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值