使用PHP开发留言板功能


Posted in PHP onNovember 19, 2019

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

下面是效果图,没有进行CSS美化,比较简单请见谅:

使用PHP开发留言板功能

留言板

我使用的环境是: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 as $rowe){ ?>    //循环数组,循环整个DIV
    <div>     //设置留言板的输出
      留言人:<font class="user"><?php echo "$rowe[user]"; ?></font>    //将循环数组中的用户输出
      <div class="time">留言时间:<a class="times">
        <?php echo date("Y-m-d H:i:s",$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("连接数据库失败");    
  }
    
  $sql = ("SET NAMES UTF8");      //设置数据库传输字符编码
  $res = $conn->query($sql);          //执行sql语句
  if ($res == false) {      //sql语句是否执行成功
    # code...
    die("数据库语句执行失败");    
  }
 ?>

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

<?php 
  /**
   * 定义判断用户输入内容是否符合规定
   */
  class pd     //定义类
  {
    
    function input($post)      //设置函数,此函数用来判断输入内容
    {
      # code...
      if ($post == "" ){      //判断是否内容为空
        return false;      //输出结果为false
      }
      $zf = ["张三","李四","王五"];      //我这里就拿这几个字符做特殊字符了
      foreach ($zf as $er ) {        //判断是否存在特殊字符
        # code...
        if ($post == $er) {
          # code...
          return false;
        }
      }
      return true;    //输出结果为true
    }
  }
 ?>

总结

以上所述是小编给大家介绍的使用PHP开发留言板功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
PHP设计聊天室步步通
Oct 09 PHP
web方式ftp
Oct 09 PHP
PHP个人网站架设连环讲(一)
Oct 09 PHP
php mysql数据库操作类
Jun 04 PHP
PHP 替换模板变量实现步骤
Aug 24 PHP
PHP测试程序运行时间的类
Feb 05 PHP
2014过年倒计时示例
Jan 31 PHP
WordPress开发中短代码的实现及相关函数使用技巧
Jan 05 PHP
postfixadmin忘记密码后的修改密码方法详解
Jul 20 PHP
PHP+JS实现的商品秒杀倒计时用法示例
Nov 15 PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 PHP
Laravel登录失败次数限制的实现方法
Aug 26 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 #PHP
php传值和传引用的区别点总结
Nov 19 #PHP
php 使用 __call实现重载功能示例
Nov 18 #PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 #PHP
php 多继承的几种常见实现方法示例
Nov 18 #PHP
Yii框架 session 数据库存储操作方法示例
Nov 18 #PHP
PHP cookie与session会话基本用法实例分析
Nov 18 #PHP
You might like
利用Memcached在php下实现session机制 替换PHP的原生session支持
2010/08/21 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
JavaScript关闭当前页面(窗口)不带任何提示
2014/03/26 Javascript
JavaScript替换当前页面的方法
2015/04/03 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
javascript实现动态表头及表列的展现方法
2015/07/14 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
详解js实现线段交点的三种算法
2016/08/09 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
jQuery中的siblings()是什么意思(推荐)
2016/12/29 Javascript
easyui combogrid实现本地模糊搜索过滤多列
2017/05/13 Javascript
js构建二叉树进行数值数组的去重与优化详解
2018/03/26 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
vue el-table实现自定义表头
2019/12/11 Javascript
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
解决Django一个表单对应多个按钮的问题
2019/07/18 Python
Python时间差中seconds和total_seconds的区别详解
2019/12/26 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
python实现猜拳游戏
2020/03/04 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
Silk Therapeutics官网:清洁、抗衰老护肤品
2020/08/12 全球购物
社会实践评语
2014/04/28 职场文书
中学生思想品德评语
2014/12/31 职场文书
光荣之路观后感
2015/06/12 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
css filter和getUserMedia的联合使用
2022/02/24 HTML / CSS