闲来没事,应学习群里面一些人的要求,花了几个小时写了一个简单的PHP留言本,很适合PHP新手学习,当然老手可以略过~~~~

架构:PHP+MYSQL+Layui+smarty,实现简单的MVC构架,一个页面完成留言本的增、删、改、回复等功能。

文件目录结构如下图:

实现代码就比较简单了,总共100多行代码实现。

class IndexController extends Site {private $model;private $DB;public function __construct(){parent::__construct();$this->model=new Model();$this->DB='www_message';}/*** 首页列表*/public function index(){$page_size=3;//页显示数,根据自己需要调整$pageCurrent=!empty($_GET["p"])?$_GET['p']:'1';$currentNum=($pageCurrent-1)*$page_size;$sql="select * from `".$this->DB."` ORDER BY id desc";$query=$sql." limit $currentNum,$page_size";$reccount=mysqli_num_rows($this->model->query($sql));$list=$this->model->query($query);$page=Pager('',$reccount,$page_size,$pageCurrent,10);$this->assign('list',$list);$this->assign('pager',$page);$this->display('index.php');}//删除留言操作public function delete(){$id=$_GET['id'];$where['id']=$id;$result=$this->model->delete($this->DB,$where);if($result==true){exit(json_encode(array('status'=>true,'info'=>'删除成功')));}else{exit(json_encode(array('status'=>false,'info'=>'删除失败')));}}/*** 添加留言操作*/public function add(){$postData=$_POST['info'];$postData['create_time']=time();$postData['uip']=get_client_ip();$res=$this->model->inserttable($this->DB,$postData);if($res){exit(json_encode(array('status'=>true,'info'=>'留言成功')));}else{exit(json_encode(array('status'=>false,'info'=>'留言失败')));}}/*** 回复留言*/public function edit(){if($_SERVER['REQUEST_METHOD']=='POST'){$postData=$_POST['info'];$where['id']=$postData['id'];unset($postData['id']);$res=$this->model->updatetable($this->DB,$postData,$where);if($res){exit(json_encode(array('status'=>true,'info'=>'留言修改成功','isclose'=>true)));}else{exit(json_encode(array('status'=>false,'info'=>'留言修改失败')));}}else{$msgid=$_GET['id'];$msgData=$this->model->getone('select `id`,`title`,`content` from `'.$this->DB.'` where id='.$msgid);if(empty($msgData)){exit('您查看的留言不存在或被删除!');}else{$this->assign('msgdata',$msgData);$this->display('edit.php');}}}/*** 回复留言*/public function reply(){if($_SERVER['REQUEST_METHOD']=='POST'){$postData=$_POST['info'];$postData['reply_time']=time();$where['id']=$postData['id'];unset($postData['id']);$res=$this->model->updatetable($this->DB,$postData,$where);if($res){exit(json_encode(array('status'=>true,'info'=>'回复留言成功','isclose'=>true)));}else{exit(json_encode(array('status'=>false,'info'=>'回复留言失败')));}}else{$msgid=$_GET['id'];$msgData=$this->model->getone('select * from `'.$this->DB.'` where id='.$msgid);if(empty($msgData)){exit('您查看的留言不存在或被删除!');}else{$this->assign('msgdata',$msgData);$this->display('reply.php');}}}
}

以下是部分效果展示:

页面功能比较简单,暂未添加管理员管理留言功能,需要同僚的可以加群共同学习!

演示地址:http://www.phpteach.com/show/guestbook/

源码可以到此处下载: https://download.csdn.net/download/helly826/11372889

PHP留言本,非常适合新手实战操作!相关推荐

  1. php留言板实战,PHP留言本,非常适合新手实战操作!

    闲来没事,应学习群里面一些人的要求,花了几个小时写了一个简单的PHP留言本,很适合PHP新手学习,当然老手可以略过~~~~ 架构:PHP+MYSQL+Layui+smarty,实现简单的MVC构架,一 ...

  2. python入门新手项目-Python入门实战项目有哪些适合新手?

    Python入门实战项目有哪些适合新手?目前市面上有很多适合新手的Python入门练手项目,Python入门需要理论与实践相结合,前面夯实基础知识,后面通过实战项目帮助你更好的运用这些Python知识 ...

  3. python3 excel数据处理_求推荐python3入门教程,适合新手的(python excel数据处理)

    excel和python哪个难学 excel 分应用和VBA编程,phthon本就是编程语言,对数据分析来说,excel足够了,而且是最容易学习的数据处理与分析应用软件,Python肯定比excel难 ...

  4. 自媒体影视剪辑一个月7000,无需真人露脸,非常适合新手练手

    做自媒体视频二次剪辑,一个月收益4000多,无需本人露脸拍摄短视频,每天花费1-3小时时间操作(前期可能会多花一些时间),比较适合新手起步去做. 这几天临近暑假,已经有很多小朋友已经放假了,那些没事在 ...

  5. DVWA通关攻略(适合新手)

    目录 前言 一.暴力破解 二.ping命令注入 三.CSRF 四.文件包含 五.文件上传 六.CAPTCHA 七.SQL注入 九.SQL注入(盲注) 十.会话劫持 十一.DOM性xss注入 十二.反弹 ...

  6. C++、easyx组合的界面版五子棋(适合新手)

    C++.easyx组合的五子棋界面版(适合新手) 点击进入五子棋控制台版本 文章目录 C++.easyx组合的五子棋界面版(适合新手) 前言 效果图 一.游戏规则 二.实现逻辑 1.绘制棋盘 2.落子 ...

  7. GitHub 上有哪些适合新手跟进的优质项目?(附地址)

    作者 | 小G 来源 | 公众号GitHubDaily 从 2015 年至今,我们累计在 GitHub 上看了上万个开源项目,并一直关注着开源圈的动态,通过这样的习惯,使得我们挖掘出了不少优质的 Gi ...

  8. 交换机配置软件crt安装_非常详细的锐捷二层交换机配置教程,适合新手小白

    笔者上一篇文章写了关于锐捷三层交换机配置教程,但是这只是核心的配置,还不能搭建一个完整的企业网络.那么这一篇就来讲一下锐捷的二层交换机配置,比起三层交换机的配置,二层交换机配置就非常简单了.同样,今天 ...

  9. MYSQL服务的极简免配置快绿色速安装法[适合新手和懒人]

    强调:适合新手和懒人! mysql最快速安装方法(极简.免配置): 下载官方绿色压缩包,解压到某目录最好为英文),用管理员权限打开CMD,定位到mysqld.exe所在目录,直接运行 mysqld - ...

最新文章

  1. C++知识点15——使用C++标准库(IO流)
  2. 卓越性能代码_「Win」被隐藏起来的卓越性能模式,为何不想让人发现?
  3. python语言入门e_python 语言学入门第一课必看:编码规范
  4. 服务器能进系统滴滴响,曙光服务器开机滴滴响
  5. Linux基础命令---fold
  6. 内存条上面参数详解_价格极低的国产颗粒内存条:光威弈系列Pro评测,超频表现超稳定...
  7. ERP财务报表快消失了?用它做财务系统根本不够用
  8. mxnet入门--第6篇
  9. 用友U8.72 审核成品入库单时生成销售出库单 SQL触发器  --白波九道
  10. 微信小程序测试号申请页面不显示AppID 和AppSecret的解决办法
  11. 国际长途电话区号(中英文名)
  12. 微信域名防屏蔽防封系统,轻松微信中域名网站被屏蔽被封的问题
  13. 以图搜图 图像匹配_基于内容的图像检索(CBIR) ——以图搜图
  14. oracle database lite,Oracle Database Lite Client 10
  15. 谷歌浏览器提示adobeflashplayer已过期
  16. LL(1)文法的判断
  17. soul-网关实战(二)如何成为了Soul的贡献者
  18. 关于未名湖边的烦恼问题
  19. 【转】jar参数运行应用时classpath的设置方法
  20. ERROR | RuntimeError: Python 3.5 or later is required

热门文章

  1. android JNI基本库(jsting转string和C多线程调用java方法的说明)
  2. 新生报到系统_你的宿舍你做主!成电研究生新生选房系统上线
  3. 如何自动将Word文档缩小一页
  4. 百度C++工程师如何实现极致并发优化
  5. 如何固定背景不随滚动条滚动?
  6. python程序论文答辩_毕业论文答辩的程序是怎样的?
  7. CODESYS在智能生产线中的应用案例:食品饮料行业——一体式模块化灌装机原创
  8. C语言杂记 0x01
  9. c语言怎么快速乘法口诀表,乘法口诀表,C语言实现
  10. 联想台式电脑开机之后马上蓝屏怎么U盘重装系统?