• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP实现的简单留言板功能示例【基于thinkPHP框架】

    本文实例讲述了PHP实现的简单留言板功能。分享给大家供大家参考,具体如下:

    入口文件  文件名 index.php

    ?php
    // 应用入口文件
    // 检测PHP环境
    if(version_compare(PHP_VERSION,'5.3.0','')) die('require PHP > 5.3.0 !');
    // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
    define('APP_DEBUG',True);//开发调试模式
    //define('APP_DEBUG',false);//生产模式
    // 定义应用目录
    define('APP_PATH','./Message/');
    // 引入ThinkPHP入口文件
    require './ThinkPHP/ThinkPHP.php';
    // 亲^_^ 后面不需要任何代码了 就是如此简单
    
    

    配置文件 文件名 config.php

    ?php
    return array(
      //'配置项'=>'配置值'
      'SHOW_PAGE_TRACE'=>true,
      'DB_TYPE'        => 'mysqli',   // 数据库类型
      'DB_HOST'        => '127.0.0.1', // 服务器地址
      'DB_NAME'        => 'msg',     // 数据库名
      'DB_USER'        => 'root',   // 用户名
      'DB_PWD'        => 'root',     // 密码
      'DB_PORT'        => '3306',    // 端口
      'DB_PREFIX'       => 'ms_',  // 数据库表前缀
    );
    
    

    控制器  文件名 MsgController.class.php

    ?php
    namespace Home\Controller;
    use Think\Controller;
    use Think\Model;
    class MsgController extends Controller{
      public function index(){
        $msg = D('Msg');
        $info = $msg->order('id DESC')->select();
        $this->assign('info',$info);
        $this->display();
      }
      public function sendMsg(){
        $msg = new \Home\Model\MsgModel();
        if (!empty($_POST)){
          $data = $msg->create();
          if($data){
            $data['user_hobby'] = implode(',',$data['user_hobby']);
            $z = $msg->add($data);
            if ($z){
              $this->redirect('Msg/sendMsg');
            }
          }else{
            $this->assign('errorInfo',$msg->getError());
          }
        }
        $this->display();
      }
      public function upd($id){
        $msg = D('Msg');
        if (!empty($_POST)){
          $z = $msg->save($_POST);
          if ($z){
            $this->redirect('index',array(),2,'修改成功');
          }else{
            $this->redirect('upd',array('id'=>$id),2,'修改失败');
          }
        }else{
          $info = $msg->find($id);
          $this->assign('info',$info);
          $this->display();
        }
      }
      public function addMsg(){
        $msg = D('Msg');
        if (!empty($_POST)){
          $z = $msg->add($_POST);
          if ($z){
            $this->redirect('index',array(),2,'添加成功');
          }else{
            $this->redirect('addMsg',array(),2,'添加失败');
          }
        }else{
          $this->display();
        }
      }
      public function del($id){
        if(D('Msg')->delete($id)){
          $this->success('成功',U('index'),2);
        }else{
          $this->error('失败',U('index'),2);
        }
      }
    }
    
    

    模板  文件名 MsgModel.class.php

    ?php
    namespace Home\Model;
    use Think\Model;
    class MsgModel extends Model{
      //是否批量验证
      protected $patchValidate = true;
      protected $_validate = array(
        array('title','require','标题不能为空!'), //默认情况下用正则进行验证
        array('user','require','留言人不能为空!'),
        array('msg','require','内容不能为空!'),
      );
      protected $_auto = array (
        array('status','1'), // 新增的时候把status字段设置为1
        array('id','NULL'),
        array('admin_user','ms'),
        array('replay','NULL'),
        array('update_time','time',3,'function'), // 对update_time字段在更新的时候写入当前时间戳
        array('send_msg_time','time',3,'function'),
      );
    }
    
    

    视图  文件名 addMsg.html

    !DOCTYPE html>
    html lang="en">
    head>
      meta charset="UTF-8">
      title>Title/title>
    /head>
    body>
    div>
      form action="__SELF__" method="post" >
        table border="1" width="100%" class="table_a">
          tr>
            td>留言时间/td>
            td>input type="text" name="update_time"/>/td>
          /tr>
          tr>
            td>留言人/td>
            td>input type="text" name="user" />/td>
          /tr>
          tr>
            td>标题/td>
            td>input type="text" name="title" />/td>
          /tr>
          tr>
            td>内容/td>
            td>input type="text" name="msg" />/td>
          /tr>
          tr>
            td>回复/td>
            td>textarea name="replay">/textarea>/td>
          /tr>
          tr>
            td colspan="2" align="center">
              input type="submit" value="添加">
              a href="__CONTROLLER__/index" rel="external nofollow" rel="external nofollow" >input type="button" value="返回">/a>
            /td>
          /tr>
        /table>
      /form>
    /div>
    /body>
    /html>
    
    

    视图  文件名 index.html

    !DOCTYPE html>
    html xmlns="http://www.w3.org/1999/xhtml">
    head>
      title>留言列表 -- HoverTree/title>
      style>
        .keleyitable {
          width: 800px;
        }
        .keleyitable table, td, th {
          border: 1px solid green;margin-top:10px;
        }
        .klytd {width:100px;text-align:right
        }
        .hvttd {
          width:500px}
      /style>
    /head>
    body>
    div style="margin:0px auto;" class="keleyitable">h2>留言列表/h2>
      tr>td class="klytd">a href="__CONTROLLER__/addMsg" rel="external nofollow" >添加/a>/td>td class="hvttd">/td>/tr>
      volist name="info" id="vo">
        table>
          tr>td class="klytd">留言时间:/td>td class="hvttd">{$vo.update_time|date="Y-m-d H:i:s",###}/td>/tr>
          tr>td class="klytd">留言人:/td>td class="hvttd">{$vo.user}/td>/tr>
          tr>td class="klytd">标题:/td>td class="hvttd">{$vo.title}/td>/tr>
          tr>td class="klytd">内容:/td>td class="hvttd">{$vo.msg}/td>/tr>
          tr>td class="klytd">回复:/td>td class="hvttd">{$vo.replay}/td>/tr>
        /table>
        tr>td class="klytd">a href="__CONTROLLER__/upd/id/{$vo.id}" rel="external nofollow" >修改/a>/td>td class="hvttd">/td>/tr>
        tr>td class="klytd">a href="__URL__/del/id/{$vo.id}" rel="external nofollow" >删除/a>/td>td class="hvttd">/td>/tr>
      /volist>
    /div>
    div style="width:800px;margin:10px auto;font-family:Arial, Helvetica, sans-serif;text-align:center;">HoverTree copy; 2014 keleyi.com /div>
    !--最近打算开发一个留言板,asp.net的开源项目,http://hovertree.codeplex.com -->
    /body>
    /html>
    
    

    视图  文件名 sendMsg.html

    !DOCTYPE html>
    html lang="en">
    head>
      meta charset="UTF-8">
      title>Title/title>
    /head>
    body>
      form action="" method="post">
        标nbsp;nbsp;nbsp;题: input type="text" name="title">span style="color:red;">{$errorInfo.title}/span>br>br>
        信nbsp;nbsp;nbsp;息: input type="text" name="msg">span style="color:red;">{$errorInfo.msg}/span>br>br>
        留言人: input type="text" name="user">span style="color:red;">{$errorInfo.user}/span>br>br>
        input type="submit" value="提交">
      /form>
    /body>
    /html>
    
    

    视图 文件名  upd.html

    !DOCTYPE html>
    html lang="en">
    head>
      meta charset="UTF-8">
      title>Title/title>
    /head>
    body>
    div>
      form action="__SELF__" method="post" >
        input type="hidden" name="id" value="{$info.id}">
        table border="1" width="100%" class="table_a">
          tr>
            td>留言时间/td>
            td>input type="text" name="update_time" value="{$info.update_time}" />/td>
          /tr>
          tr>
            td>留言人/td>
            td>input type="text" name="user" value="{$info.user}" />/td>
          /tr>
          tr>
            td>标题/td>
            td>input type="text" name="title" value="{$info.title}" />/td>
          /tr>
          tr>
            td>内容/td>
            td>input type="text" name="msg" value="{$info.msg}" />/td>
          /tr>
          tr>
            td>回复/td>
            td>textarea name="replay">{$info.replay}/textarea>/td>
          /tr>
          tr>
            td colspan="2" align="center">
              input type="submit" value="修改">
              a href="__CONTROLLER__/index" rel="external nofollow" rel="external nofollow" >input type="button" value="返回">/a>
            /td>
          /tr>
        /table>
      /form>
      /div>
    /body>
    /html>
    
    

    目录结构

    数据库 sql语句

    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    SET time_zone = "+00:00";
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    --
    -- 資料庫: `msg`
    --
    -- --------------------------------------------------------
    --
    -- 表的結構 `ms_msg`
    --
    CREATE TABLE IF NOT EXISTS `ms_msg` (
     `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
     `admin_user` varchar(100) NOT NULL COMMENT '管理员',
     `update_time` int(10) NOT NULL COMMENT '更新时间',
     `status` int(2) NOT NULL COMMENT '状态',
     `send_msg_time` int(10) NOT NULL COMMENT '留言时间',
     `user` varchar(100) NOT NULL COMMENT '留言人',
     `title` varchar(100) NOT NULL COMMENT '标题',
     `msg` varchar(200) NOT NULL COMMENT '内容',
     `replay` varchar(200) NOT NULL COMMENT '回复',
     PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='留言表' AUTO_INCREMENT=19 ;
    --
    -- 轉存資料表中的資料 `ms_msg`
    --
    INSERT INTO `ms_msg` (`id`, `admin_user`, `update_time`, `status`, `send_msg_time`, `user`, `title`, `msg`, `replay`) VALUES
    (1, 'ms', 1479449110, 1, 1479449110, '1', '拉克丝的减肥', '对方科目了', 'NULL'),
    (7, '', 321423432, 0, 0, 'kljflwk', 'kjsdfnlk', 'nlkdsjfn', 'kljnf'),
    (3, 'ms', 1479451017, 1, 1479451017, '1', '轻松的发生我', '沃尔沃飞', 'NULL'),
    (8, 'ms', 1479544687, 1, 1479544687, '', 'qwe', '', 'NULL'),
    (9, 'ms', 1479544693, 1, 1479544693, 'qwe', 'qwe', 'qwe', 'NULL'),
    (10, 'ms', 1479544970, 1, 1479544970, 'qwe', 'qwe', 'qwe', 'NULL'),
    (11, 'ms', 1479544979, 1, 1479544979, '12', '12', '12', 'NULL'),
    (12, 'ms', 1479545029, 1, 1479545029, '12', '12', '12', 'NULL'),
    (13, 'ms', 1479546357, 1, 1479546357, '12', '12', '12', 'NULL'),
    (14, 'ms', 1479547163, 1, 1479547163, '12', '12', '12', 'NULL'),
    (16, 'ms', 1479547667, 1, 1479547667, '12', '12', '123', 'NULL'),
    (17, 'ms', 2147483647, 1, 1479547682, '上来昆明3', '说的了付款', '蓝山咖啡', '123213');
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    
    

    更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

    希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHP实现基本留言板功能原理与步骤详解
    • 使用PHP开发留言板功能
    • 使用PHP连接数据库实现留言板功能的实例讲解(推荐)
    • php+Memcached实现简单留言板功能示例
    • 简单实现PHP留言板功能
    • 基于thinkPHP框架实现留言板的方法
    • PHP结合Mysql数据库实现留言板功能
    • php实现网站留言板功能
    • php制作文本式留言板
    • php简单的留言板与回复功能具体实现
    • php开发留言板的CRUD(增,删,改,查)操作
    • php xml留言板 xml存储数据的简单例子
    • 来自经典的打造简单的PHPMYSQL留言板
    • 一个简单的PHP&MYSQL留言板源码
    • 一个可分页的基于文本的PHP留言板源码
    • PHP+MySql实现一个简单的留言板
    上一篇:laravel5使用freetds连接sql server的方法
    下一篇:PHP通过文件路径获取文件名的实例代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP实现的简单留言板功能示例【基于thinkPHP框架】 PHP,实现,的,简单,留言板,