php实现留言板功能(代码详解)
2018-09-21 21:29
简单的PHP留言板制作
做基础的留言板功能 需要三张表:
员工表,留言表,好友表
首先造一个登入页面:
<form action=drcl.php method=post> <div>帐号:<input type=text name=zhang/></div> <div>口令:<input type=text name=mi/></div> <input type=submit value=登入/> </form>
上图:
不多说,没毛病
然后来写处理页面:
<?php session_start(); //session存储数据 include (db.class.php); //引用类 $db = new db(); //造方法 $zhang = $_POST[zhang]; $mi = $_POST[mi]; $sql = select mi from yuangong WHERE zhang = {$zhang}; $arr = $db->Query($sql); if(!empty($mi)&&$mi = $arr &&!empty($zhang)) { $_SESSION[zhang] = $zhang; //即将跳转页面之前,把帐号存到session里面 header(location:zym.php); } else { echo 登入失败了; } ?>
正常的处理登入的页面只不过把账号存了一下session
登入上进入主页面
再来是主页面了:
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN 无标题文档</title> </head> <body> <h1>留言板</h1> <div><a href=fbym.php rel=external nofollow >发布信息</a></div> <div><a href=ddrr.php rel=external nofollow rel=external nofollow onclick= return confirm(注销当前用户?)>注销登入</a></div> <table border=1 cellpadding=0 cellspacing=0 width=100%> <tr> <td>发件人</td> <td>收件人</td> <td>发布时间</td> <td>内容</td> </tr> <?php session_start(); //存储数据 if(empty($_SESSION[zhang])) { header(location:ddrr.php); //防止输入网址进入 exit; } $zhang = $_SESSION[zhang]; include (../db.class.php); $db = new db(); $sql = select name from yuangong WHERE zhang = {$zhang}; $attr = $db->Query($sql); //取到登入的name echo <h5>欢迎你:{$attr[0][0]}</h5>; //输出登入的name $sql = select * from liuyan WHERE shou = {$zhang} or shou = all ORDER BY times DESC ; //条件!!我只看自己或所有人的 $arr = $db->Query($sql); foreach ($arr as $v){ $shou = aname($v[2]); $fa = aname($v[1]); //用方法 echo <tr> <td>{$fa}</td> <td>{$shou}</td> <td>{$v[3]}</td> <td>{$v[4]}</td> </tr>; } //返回姓名 function aname($zhang) { global $db; //设置全局变量! if($zhang == all) { //如果接收到的是all,显示: return 所有人; } else { //如果是自己的,根据帐号查name $sql = select name from yuangong WHERE zhang ={$zhang} ; $arr = $db->Query($sql); //二维数组 return $arr[0][0]; } } ?> </table> </body> </html>
查找的条件即是只查自己的好友或者是all的所有人
还要注意一点便是要把调用的db设为全局变量
图:
留言板需要发布信息:
发布信息页面:
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN 无标题文档</title> </head> <body> <h1>发布信息</h1> <?php session_start(); //存储数据 if(empty($_SESSION[zhang])) { header(location:ddrr.php); //防止输入网址进入 exit; } $zhang = $_SESSION[zhang]; include (../db.class.php); $db = new db(); $shaoyou = select * from firend WHERE me = {$zhang}; $ahaoyou = $db->Query($shaoyou); ?> <form action=fbcl.php method=post> <div>接收人: <select name=shou> <option value=all>所有</option> <?php foreach ($ahaoyou as $v) { $name = aname($v[2]); echo <option value={$v[2]}>{$name}</option>; } ?> </select></div> <br/> <div>留言内容:<input type=text name=lynr/></div> <br/> <input type=submit value=发送/> <input type=reset value=清空/> </form> <?php function aname($zhang) { global $db; //设置全局变量! if($zhang == all) { //如果接收到的是all,显示: return 所有人; } else { //如果是自己的,根据帐号查name $sql = select name from yuangong WHERE zhang ={$zhang} ; $arr = $db->Query($sql); //二维数组 return $arr[0][0]; } } ?> <a href=zym.php rel=external nofollow >查看信息</a> <a href=ddrr.php rel=external nofollow rel=external nofollow onclick=return confirm(确定要退出此帐号?)>注销登入</a> </body> </html>
最后就是发布信息的处理页面:
<?php session_start(); $uid = $_SESSION[zhang]; include(../db.class.php); $db = new db(); $jsr = $_POST[shou]; $neirong = $_POST[lynr]; $sj = date(Y-m-d H:i:s); $sql = insert into liuyan values(,{$uid},{$jsr},{$sj},{$neirong},0); if($db->Query($sql,0)) { header(location:zym.php); } else { echo 发布失败!; }
图:
我用小花的账号给小明发一条留言:
所以 登入小明的帐号
图:
没错,他收到了小花的这条留言
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!