• 技术文章 >后端开发 >PHP问题

    php怎么实现简易留言板

    藏色散人藏色散人2021-12-16 11:03:38原创2578

    php实现简易留言板的方法:1、在数据库中创建两张表;2、编写send页面和留言页面;3、通过session实现用户登录;4、创建注销登录页面即可。

    php入门到就业线上直播课:进入学习

    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。

    php怎么实现简易留言板?

    PHP+MySql实现一个简单的留言板:

    //嗯,跟着书学的,代码不是自己写的,但是都能理解,有时间自己去写个好看一点的吼吼吼~(不熟练花了一天的时间…

    留言板是接触WEB开发的基础,写一个留言板需要知道前端的一些基础标签,对数据库有一个了解会基础SQL语言,PHP基础知识,前段基础+数据库基础+PHP基础=>留言板。

    前方高能哇(界面真的是吃藕诶…

    先建一个数据库,数据库里有两张表,一个存账号密码,一个存留言信息

    //创建数据库,里面有两张表Admin和Message
    create database gbook;
    //创建Admin表,记录用户名和密码
    create table admin(
        username varchar(20) not null,
        userpass varchar(20) not null
    );
    //创建Message表,记录留言的id,留言人,留言日期,留言内容以及回复
    create table message(
        id int(4) not null auto_increment primary key,
        author varchar(20) not null,
        addtime datetime not null,
        content varchar(1000) not null,
        reply varchar(1000) not null
    );

    首先实现用户留言的部分,这是第一步,没有留言index页面就空了嘛~

    <!-- 1.用户填写留言部分 send.php -->
    <!-- 可以首先编写send页面,只有用户提交了留言才能进行后面的留言显示,留言管理等等 -->
     
    <?php
        $name = $_POST["name"];//从input里面传过来的name
        //看用户是否提交了新留言,如果提交了,则写入表message
        if( $name != ""){
            $content = $_POST["content"];
            //下面的代码用于获得当前日期和时间
            $addtime = date("Y-m-d h:i:s");//得到日期
            $link = mysqli_connect("127.0.0.1","root","Vmorish");//PHP连接数据库
            if( $link)
                echo "ok!<br>";
            else {
                echo "bad!<br>";
            }
            mysqli_select_db($link,"gbook");//选择数据库
            $insert = "insert into message(author,addtime,content,reply) values('$name','$addtime','$content','')";
            mysqli_query($link,$insert);
            mysqli_close($link);
            echo "<script language=javascript>alert('留言成功!单击确定查看留言.');location.href='index.php';</script>";
        }
        mysqli_close($link);
     
     ?>
     
    <html>
     
    <head>
        <title>欢迎来到陈雨情的留言本吼吼吼</title>
    </head>
     
    <body>
        <!-- border-collapse:collapse合并表格的边框 -->
        <table border=1 cellspacing=0 cellspadding=0 style="border-collapse:collapse" align=center width=400 bordercolor=black>
            <tr>
                <td height=100 bgcolor=#6c6c6c>
                    <font style="font-size:30px" color=#ffffff face="黑体">欢迎来到×××的留言本吼吼吼</font>
                </td>
            </tr>
            <tr>
                <td height=25>
                     <a href=send.php>[我要写留言]</a> 
                     <a href=login.php>[管理留言]</a>
                </td>
            </tr>
            <tr>
                <td height=200>
                    <form method="POST" action="send.php">
                        <table border="1" width="95%" id="table1" cellspacing="0" cellpadding="0" bordercolor="#808080" style="border-collapse:collapse" height="265">
                            <tr>
                                <td colspan="2" height="29">
                                    <p align="center">欢迎填写你的留言</p>
                                </td>
                            </tr>
                            <tr>
                                <td width="32%">
                                    <p align="right">你的名字</p>
                                </td>
                                <td width="67%">
                                    <input type="text" name="name" size="20">
                                </td>
                            </tr>
                            <tr>
                                <td width="32%">
                                    <p>留言内容</p>
                                </td>
                                <td width="67%">
                                    <textarea rows="10" name="content" cols="31"></textarea>
                                </td>
                            </tr>
                            <tr>
                                <td width="99%" colspan="2">
                                    <p align="center">
                                        <input type="submit" value="提交" name="B1">
                                    </p>
                                </td>
                            </tr>
                        </table>
                    </form>
                </td>
            </tr>
            <tr>
                <td height=80 bgcolor=#6c6c6c align=center>
                    <font color="#FFFFFF">
                        版权所有:<a href="http://blog.csdn.net/cherish0222">Vmorish</a><br>
                        E-mail:vmorish@163.com
                    </font>
                </td>
            </tr>
        </table>
     
    </body>
     
    </html>

    效果:


    接着就可以上主页面了

    <!-- 2.留言本首页 index.php -->
    <!-- 本页面显示十条最近的的留言,并且有分页功能 -->
    <html>
     
    <head>
        <title>欢迎来到陈雨情的留言本吼吼吼</title>
        <style type="text/css">
            TD{
                font-size: 12px;
                line-height: 150%;
            }
        </style>
    </head>
     
    <body>
        <table border=1 cellspacing=0 cellspadding=0 style="border-collapse:collapse" align=center width=400 bordercolor=black height=382>
            <tr>
                <td height=100 bgcolor=#6c6c6c style="font-size:30px;line-height:30px">
                    <font color=#ffffff face="黑体">欢迎来到×××的留言本吼吼吼</font>
                </td>
            </tr>
            <tr>
                <td height=25>
                     <a href=send.php>[我要写留言]</a> 
                     <a href=login.php>[管理留言]</a>
                </td>
            </tr>
            <tr>
                <td height=200>
                    <?php
                        $link = mysqli_connect("127.0.0.1","root","Vmorish");
                        mysqli_select_db($link,"gbook");
                        $query = "select * from message";
                        $result = mysqli_query($link,$query);
                        if( mysqli_num_rows($result) < 1){
                            echo " 目前数据表中还没有任何留言!";
                        }else{
                            $totalnum = mysqli_num_rows($result);//获取数据库中所有数据条数
                            $pagesize = 7;//每页显示7条
                            $page = $_GET["page"];
                            if( $page == ""){
                                $page = 1;
                            }
                            $begin = ($page-1)*$pagesize;
                            $totalpage = ceil($totalnum/$pagesize);
                            //输出分页信息
                            echo "<table border=0 width=95%><tr><td>";
                            $datanum = mysqli_num_rows($result);
                            echo "共有".$totalnum."条留言,每页".$pagesize."条,共".$totalpage."页。<br>";
                            //输出页码
                            for( $i = 1; $i <= $totalpage; $i++){
                                echo "<a href=index.php?page=".$i.">[".$i."] </a>";
                            }
                            echo "<br>";
                            //从message表中查询当前页面所要显示的留言,并根据时间排序
                            $query = "select * from message order by addtime desc limit $begin,$pagesize";
                            $result = mysqli_query($link,$query);
                            $datanum = mysqli_num_rows($result);
                            //循环输出所有留言,如果管理员已经回复则同时输出回复
                            for( $i = 1; $i <= $datanum; $i++){//$datanum???
                                $info = mysqli_fetch_array($result);
                                echo "->[".$info['author']."]于".$info['addtime']."说:<br>";
                                echo "  ".$info['content']."<br>";
                                if( $info['reply'] != ""){
                                    // <b></b>显示粗体
                                    echo "<b>管理员回复:</b>".$info['reply']."<br>";
                                }
                                echo "<hr>";
                            }//else结束
                            echo "</td></tr></table>";
                        }
                        mysqli_close($link)
                     ?>
                </td>
            </tr>
            <tr>
                <td height=80 bgcolor=#6c6c6c align=center>
                    <font color="#FFFFFF">
                        版权所有:<a href="http://blog.csdn.net/cherish0222">Vmorish</a><br>
                        E-mail:vmorish@163.com
                    </font>
                </td>
            </tr>
        </table>
     
    </body>
     
    </html>

    效果:


    接着管理员登录咯

    <!-- 3.管理员登录页面 login.php -->
    <!-- 供管理员登录 -->
    <!-- 体会session实现用户登录的方法 -->
     
    <?php
        $name = $_POST["name"];
        if( $name != ""){
            $password = $_POST['password'];
            $link = mysqli_connect("127.0.0.1","root","Vmorish");
            mysqli_select_db($link,"gbook");
            $query = "select * from admin where username = '$name'";
            $result = mysqli_query($link,$query);
            if( mysqli_num_rows($result) < 1){
                echo "该用户不存在,请重新登录!<br>";
            }else{
                $info = mysqli_fetch_array($result);
                if( $info['userpass'] != $password){
                    echo "密码输入错误,请重新登录!<br>";
                }else{
                    //如果用户名密码都正确,则注册一个session来标记其登录状态
                    echo "hhhh<br>";
                    session_start();
                    // $_SESSION["login"] = "YES";
                    echo "<script language=javascript>alert('登录成功!');location.href='manage.php';</script>";
                }
            }
            mysqli_close($link);
        }
     ?>
     
    <html>
     
    <head>
        <title>欢迎来到陈雨情的留言本吼吼吼</title>
    </heda>
     
    <body>
     
        <table border=1 cellspacing=0 cellspadding=0 style="border-collapse:collapse" align=center width=400 bordercolor=black height="358">
            <tr>
                <td height=100 bgcolor=#6c6c6c style="font-size:30px;line-height:30px">
                    <font color=#ffffff face="黑体">欢迎来到×××的留言本吼吼吼</font>
                </td>
            </tr>
            <tr>
                <td height=25>
                     <a href=send.php>[我要写留言]</a> 
                     <a href=login.php>[管理留言]</a>
                </td>
            </tr>
            <tr>
                <td height=178>
                    <form method="POST" action="login.php">
                        <table border="1" width="95%" id="table1" cellspcing="0" cellpadding="0" bordercolor="#808080" style="border-collapse" height="154">
                            <tr>
                                <td colspan="2" height="29">
                                    <p align="center">欢迎管理员登录</p>
                                </td>
                            </tr>
                            <tr>
                                <td width="32%">
                                    <p align="center">用户名</P>
                                </td>
                                <td width="67%">
                                    <input type="text" name="name" size="20">
                                </td>
                            </tr>
                            <tr>
                                <td width="32%">
                                    <p align="center">密 码</p>
                                </td>
                                <td>
                                    <input type="password" name="password" size="20">
                                </td>
                            </tr>
                            <tr>
                                <td width="99%" colspan="2">
                                    <p align="center"><input type="submit" value="登录" name="B1"></p>
                                </td>
                            </tr>
                        </table>
                    </form>
                </td>
            </tr>
            <tr>
                <td height=80 bgcolor=#6c6c6c align=center>
                    <font color="#FFFFFF">
                        版权所有:<a href="http://blog.csdn.net/cherish0222">Vmorish</a><br>
                        E-mail:vmorish@163.com
                    </font>
                </td>
            </tr>
        </table>
     
    </body>
     
    </html>

    效果:


    manage.php和reply.php和前面类似,就不给出了(我也还没写好诶…但要实现的跟前面类似

    最后注销登录

    <!-- 6.注销登录页面 -->
    <?php
        session_start();
        $_SESSION["login"]="";
        echo "已成功退出。[<a href=index.php>回首页</a>]";
        exit;
     ?>

    推荐学习:《PHP视频教程

    以上就是php怎么实现简易留言板的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php 留言板
    上一篇:如何解决php 40001报错问题 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• PHP7留言板开发之 Ajax分页• PHP7留言板开发之 Ajax异步提交• PHP7留言板开发之列表搜索• PHP7留言板开发之JS验证• PHP7留言板开发之代码优化
    1/1

    PHP中文网