• php实现留言板功能


      这个小小的留言板功能适合班级内或者公司内部之间的讨论,对话和留言,非常的方便,更重要的是无需网络,对于公司管理层来说是非常乐于常见的,

    下面是这个留言板的写法:

    1 首先是登录页面:

    复制代码
     1 <form action="chuli.php" method="post">
     2     <div style="margin-left: 500px; margin-top: 200px;
     3      height: 250px;  250px">/*为了把登录表放到页面中间,比较美观*/
     4         <h1>公司内部留言板</h1>
     5     <div style="margin-top: 20px">用户名:<input type="text" name="username"/></div><br/>
     6     <div>密&nbsp;&nbsp;&nbsp;码:<input type="password" name="password"/></div><br/>
     7     <div><input type="submit" value="登录"/></div>
     8     </div>
     9 
    10 </form>
    复制代码

    2 登录页面完成后要进入登录处理页面了,也就是上面提交到的chuli.php

    复制代码
     1 <?php
     2 session_start(); // 登录之后要把所包含登录的页面连接起来,开启session
     3 include("DADB.class.php");
     4 
     5 $db=new DADB();
     6 
     7 $user=$_POST["username"];
     8 $pwd=$_POST["password"];
     9 
    10 $sql="select password from yuangong where username='{$user}'";
    11 
    12 $arr=$db->Query($sql);
    13 
    14 if($arr[0][0]==$pwd && !empty($pwd))
    15 {
    16     $_SESSION["username"]=$user;
    17     header("location:main.php");
    18 }
    19 else
    20 {
    21     echo"登录失败";
    22 }
    23 
    24 ?>
    复制代码

    如图所示,是登录页面

    3.登录完成后是进入主页面,也就是显示自己收到的对话内容,下面是设计的数据库的表格和主页面的代码:

    复制代码
    <body>
    <div><h3><a href="fabu.php">发布信息</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <a href="tuichu.php">退出系统</a></h3> </div>
    <br/><br/>
    <h2>留言信息:</h2>
    
    <table cellpadding="0" cellspacing="0" border="1" width="60%">
        <tr>
            <td>发送人</td>
            <td>接收人</td>
            <td>发送时间</td>
            <td>信息内容</td>
        </tr>
        <?php
        session_start();
        if(empty($_SESSION["username"]))
        {
            header("location:login.php");
        }
        $user=$_SESSION["username"];
    
        include("DADB.class.php");
        $db=new DADB();
        $sql="select * from liuyan where recever='$user' or recever='all' ";
    
        $arr=$db->Query($sql);
        foreach($arr as $v)
        {   $fjr=uname($v[1]);
            $jsr=uname($v[2]);
            echo"<tr>
            <td>{$fjr}</td> //发送人和接收人要用到姓名,所以这里我们调用了一个方法
            <td>{$jsr}</td>
            <td>{$v[3]}</td>
            <td>{$v[4]}</td>
        </tr>";
        }
        function uname($user)   //运用了uname方法
        {
            global $db;      //要想方法里面也可以用$db 这里用了全局变量
            if($user=="all")
           {
            return "所有人";
           }else
        {
            $sql1="select name from yuangong where username='{$user}'";
            $att=$db->Query($sql1);
            return $att[0][0];}
        }
        ?>
    
    </table>
    </body>
    复制代码

    4代码写到这里,比较重要的部分就完成了,下面是要进入发布信息页面了,相当于之前写的添加的页面,其处理页面也是和之前没什么区别的,差别在于现在的处理页面是在用户登录的情况下操作的,需要用session把所有的登录情况下的页面连接起来

    复制代码
     1 <h1>发布信息</h1>
     2 <a href="main.php">主页面</a>
     3 <br />
     4 <br />
     5 
     6 <?php
     7 session_start();
     8 if(empty($_SESSION["username"]))
     9 {
    10     header("location:login.php");
    11     exit;
    12 }
    13 
    14 $user = $_SESSION["username"];
    15 
    16 include("DADB.class.php");
    17 $db = new DADB();
    18 
    19 $shaoyou = "select * from firend where me='{$user}'";
    20 $ahaoyou = $db->Query($shaoyou);
    21 
    22 ?>
    23 
    24 <form action="fabuchuli.php" method="post">
    25     <div>接收人:
    26         <select name="jsr">
    27             <option value="all">所有人</option>
    28             <?php
    29             foreach($ahaoyou as $v)
    30             {
    31                 $name = uname($v[2]);
    32                 echo "<option value='{$v[2]}'>{$name}</option>";
    33             }
    34             ?>
    35         </select>
    36     </div>
    37     <br />
    38     <div>
    39         信息内容:<textarea name="neirong"></textarea>
    40     </div><br />
    41     <input type="submit" value="发送" />
    42 </form>
    43 <?php
    44 function uname($user)
    45 {
    46     global $db;
    47 
    48     if($user=="all")
    49     {
    50         return "所有人";
    51     }
    52     else
    53     {
    54         $sql1 = "select name from yuangong where username='{$user}'";
    55         $att = $db->Query($sql1);
    56 
    57         return $att[0][0];
    58     }
    59 }
    60 ?>
    61 </body>
    复制代码
    //这是发布页面的代码  和添加页面的代码相似
    <?php
    
    <?php
    session_start();
    
    $re=$_POST["jsr"];
    $comment=$_POST["neirong"];
    $time=date("Y-m-d H:i:s"); //获取当前时间
    
    $_SESSION["username"]=$user;
    
    include("DADB.class.php");
    $db=new DADB();
    
    
    $sql="insert into liuyan VALUES ('','{$user}','{$jsr}','{$time}','{$comment}',false)";
    
    if($db->Query($sql,0))
    {
    
            header("location:main.php");
    }
    else{
        echo"发布失败";
    }
    ?>
    ?>
    复制代码

    一个简单的留言板已经完成了,退出的时候需要清除session 并且返回到登录页面 

    复制代码
    //退出页面代码
    <?php
    session_start();
    unset($_SESSION["username"]);
    header("location:login.php");
    
    ?>
    复制代码
    复制代码
  • 相关阅读:
    洛谷P3796 【模板】AC自动机(加强版)(AC自动机)
    洛谷P3203 [HNOI2010]弹飞绵羊(LCT,Splay)
    洛谷P1501 [国家集训队]Tree II(LCT,Splay)
    LCT总结——概念篇+洛谷P3690[模板]Link Cut Tree(动态树)(LCT,Splay)
    [BZOJ3172][TJOI2013]单词 AC自动机
    [BZOJ1968][AHOI2005]COMMON约数研究 数学
    [BZOJ1053][SDOI2005]反素数ant 数学
    [BZOJ1045][HAOI2008]糖果传递 数学
    [BZOJ2733][HNOI2012]永无乡 线段树合并
    [BZOJ1005][HNOI2008]明明的烦恼 数学+prufer序列+高精度
  • 原文地址:https://www.cnblogs.com/shenzikun1314/p/6611541.html
Copyright © 2020-2023  润新知