首页 > 技术文章 > 分享使用PHP开发留言板

blxt 2019-11-19 10:57 原文

首先我不是一名开发人员,只是一名小小的运维工程师,PHP是我自己喜欢的一门开发语言,所以我偶尔也会敲一些代码,写一些案例。今天我给大家分享的是使用PHP开发的留言板,留言板功能不全所以请大家见谅,也不知道满不满足企业开发的要求,大家看看就可以了,有什么不足的请大家提出谢谢!
下面是效果图,没有进行CSS美化,比较简单请见谅:
留言板

我使用的环境是:LNMP,数据库名称为:test,表名为:lyb,用户名和密码均为:root

index.php文件内容:(用户访问的首页文件)

<?php 
    include("conn.php");            //调用数据库连接php
    $sql = "select * from lyb order by id desc";        //sql查询语句
    $result = $conn->query($sql);            //执行sql查询语句
    if($result == false ){                //判断sql语句是否执行成功
?>
    <script language="javascript">
            alert('<?php echo "sql语句错误"; ?>');        //执行错误后弹框提示语句错误
    </script>
<?php
    }
    $rows = [];                //设置数组(存放数据库查询出的内容)
    while ($row = $result->fetch_assoc() ) {        //循环sql查询到的内容
        # code...
        $rows[] = $row;                //将循环的sql内容输入到数组
    }

?>
<!DOCTYPE html>
<html>
<head>
<title>留言板</title>
<meta charset="utf-8"> // 设置html字符编码
<style type="text/css" media="screen"> // 设置css
.over{
margin
: 0 35%;
}
.user{
color
: #aed;
}
.time{
float: right;
}
.times{
color
: red;
}
.content{
display
: block;
width
: 585px;
border
: 1px solid #abc;
margin-top: 5px;
margin
-bottom: 20px;
word
-wrap:break-word;
word
-break:break-all;
}
.mess{
width
: 585px;
height
: 500px;
overflow
-x: hidden;
}
</style>
</head>
<body>
<div class="over"> // 设置留言板整体DIV
<div> //设置用户输入的DIV
<form action="save.php " method="POST" accept-charset="utf-8"> //设置表单的提交方式,字符编码,提交后的PHP处理文件
<textarea cols="80" rows="10" name="lynr" >留言内容</textarea> //设置用户输入留言的表单
<br>
<input type="text" name="lyr" value="留言人"> //设置输入用户名的表单
<input type="submit" value="提交"> //设置提交按钮
</form>
<div class="mess">
<?php foreach (\(rows</span> <span style="color: #0000ff;">as</span> <span style="color: #800080;">\)rowe){ ?> //循环数组,循环整个DIV
<div> //设置留言板的输出
留言人:<font class="user"><?php echo "\(rowe</span>[user]"; ?&gt;&lt;/font&gt; <span style="color: #008000;">//</span><span style="color: #008000;">将循环数组中的用户输出</span> &lt;div <span style="color: #0000ff;">class</span>="time"&gt;留言时间:&lt;a <span style="color: #0000ff;">class</span>="times"&gt; &lt;?php <span style="color: #0000ff;">echo</span> <span style="color: #008080;">date</span>("Y-m-d H:i:s",<span style="color: #800080;">\)rowe['time']); ?> //将循环数组中的用户留言时间输出
</a></div>
<div>留言内容:<a class="content">
<?php echo "$rowe[connect]"; ?> //将循环数组中的留言内容输出
</a></div>
</div>
<?php } ?>
</div>
</div>
</div>
</body>
</html>

save.php内容:(执行用户点击提交后的操作)

<?php 
    include("class.php");    //调用类php
    include("conn.php");    //调用连接数据库php
    $content = $_POST['lynr'];        //接收用户输入的留言内容
    $user = $_POST['lyr'];            //接收用户输入的用户名
    $class = new pd;            //将类实例化
    $ur = $class->input($user);        //向函数内传输参数,并将返回的结果输出变量
    $con = $class->input($content);        //向函数内传输参数,并将返回的结果输出变量
    if ($ur == false ) {        //判断用户输入的内容是否正确
    ?>
        <script language="javascript">
            alert('<?php echo "输入的用户名不正确"; ?>');        //输入错误后弹框输出
        </script>
    <?php
        include("index.php");        //输入错误后返回主页
        exit;                        //输入错误后截停程序
    }
    if ($con == false) {            
        # code...
    ?>
        <script language="javascript">
            alert('<?php echo "输入的留言内容不正确"; ?>');
        </script>
    <?php
        include("index.php");
        exit;
    }
    $time = time();            //获取当前时间戳
    $sql = "insert into lyb(connect,user,time) value('{$content}','{$user}','{$time}')";    //sql插入语句
    $result = $conn->query($sql);            //执行sql语句,并设置为变量
    if($result == false){            //判断数据库语句是否执行成功
        ?>
        <script language="javascript">
            alert('<?php echo "未留言成功,请重新输入"; ?>');    
        </script>
    <?php
        include("index.php");
        exit;
    }
    ?>
        <script language="javascript">
            alert('<?php echo "留言成功,正在为您转到主页"; ?>');
        </script>
    <?php
    include("index.php");
    ?>

conn.php内容:(此文件用于连接数据库)

<?php 
    $HOST = "localhost";        //数据库IP地址
    $USER = "root";                //连接数据库的用户名
    $PASSWD = "root";            //数据库用户密码
    $DB = "test";                //数据库名称
    $conn = new mysqli( $HOST,$USER,$PASSWD,$DB );        //连接数据库的sql语句
    if (!$conn) {            //判断数据库是否连接成功
        # code...
        die("连接数据库失败");        
    }
</span><span style="color: #800080;">$sql</span> = ("SET NAMES UTF8");            <span style="color: #008000;">//</span><span style="color: #008000;">设置数据库传输字符编码</span>
<span style="color: #800080;">$res</span> = <span style="color: #800080;">$conn</span>-&gt;query(<span style="color: #800080;">$sql</span>);                    <span style="color: #008000;">//</span><span style="color: #008000;">执行sql语句</span>
<span style="color: #0000ff;">if</span> (<span style="color: #800080;">$res</span> == <span style="color: #0000ff;">false</span>) {            <span style="color: #008000;">//</span><span style="color: #008000;">sql语句是否执行成功</span>
    <span style="color: #008000;">#</span><span style="color: #008000;"> code...</span>
    <span style="color: #0000ff;">die</span>("数据库语句执行失败"<span style="color: #000000;">);        
}

?>

 

class.php内容:(此文件用于判断用户输入的内容是否符合要求)

<?php 
    /**
     * 定义判断用户输入内容是否符合规定
     */
    class pd         //定义类
    {
    </span><span style="color: #0000ff;">function</span> input(<span style="color: #800080;">$post</span>)            <span style="color: #008000;">//</span><span style="color: #008000;">设置函数,此函数用来判断输入内容</span>

{
# code...
if (\(post</span> == "" ){ <span style="color: #008000;">//</span><span style="color: #008000;">判断是否内容为空</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span>; <span style="color: #008000;">//</span><span style="color: #008000;">输出结果为false</span> <span style="color: #000000;"> } </span><span style="color: #800080;">\)zf = ["张三","李四","王五"]; //我这里就拿这几个字符做特殊字符了
foreach (\(zf</span> <span style="color: #0000ff;">as</span> <span style="color: #800080;">\)er ) { //判断是否存在特殊字符
# code...
if (\(post</span> == <span style="color: #800080;">\)er) {
# code...
return false;
}
}
return true; //输出结果为true
}
}
?>

大家一定要给我提出宝贵意见哟!!!!

[【华为云-精选30+云服务产品助力好友上云】](https://activity.huaweicloud.com/1212_promotion/index.html?fromacct=c76cea9f-f106-4938-a195-0df9b712c327&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905adp=1.3.1.1&adc=2.2) ![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/9c6d7e36ee7a0f9ed3c685b1d634a6c7.png)

推荐阅读