php实现留言板功能(代码详解)

5年以前  |  阅读数:828 次  |  编程语言:PHP 

简单的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" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     <title>无标题文档</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" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     <title>无标题文档</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 "发布失败!";
    }

图:

我用小花的账号给小明发一条留言:

所以 登入小明的帐号

图:

没错,他收到了小花的这条留言

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例