PHP留言本,非常适合新手实战操作!
闲来没事,应学习群里面一些人的要求,花了几个小时写了一个简单的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留言本,非常适合新手实战操作!相关推荐
- php留言板实战,PHP留言本,非常适合新手实战操作!
闲来没事,应学习群里面一些人的要求,花了几个小时写了一个简单的PHP留言本,很适合PHP新手学习,当然老手可以略过~~~~ 架构:PHP+MYSQL+Layui+smarty,实现简单的MVC构架,一 ...
- python入门新手项目-Python入门实战项目有哪些适合新手?
Python入门实战项目有哪些适合新手?目前市面上有很多适合新手的Python入门练手项目,Python入门需要理论与实践相结合,前面夯实基础知识,后面通过实战项目帮助你更好的运用这些Python知识 ...
- python3 excel数据处理_求推荐python3入门教程,适合新手的(python excel数据处理)
excel和python哪个难学 excel 分应用和VBA编程,phthon本就是编程语言,对数据分析来说,excel足够了,而且是最容易学习的数据处理与分析应用软件,Python肯定比excel难 ...
- 自媒体影视剪辑一个月7000,无需真人露脸,非常适合新手练手
做自媒体视频二次剪辑,一个月收益4000多,无需本人露脸拍摄短视频,每天花费1-3小时时间操作(前期可能会多花一些时间),比较适合新手起步去做. 这几天临近暑假,已经有很多小朋友已经放假了,那些没事在 ...
- DVWA通关攻略(适合新手)
目录 前言 一.暴力破解 二.ping命令注入 三.CSRF 四.文件包含 五.文件上传 六.CAPTCHA 七.SQL注入 九.SQL注入(盲注) 十.会话劫持 十一.DOM性xss注入 十二.反弹 ...
- C++、easyx组合的界面版五子棋(适合新手)
C++.easyx组合的五子棋界面版(适合新手) 点击进入五子棋控制台版本 文章目录 C++.easyx组合的五子棋界面版(适合新手) 前言 效果图 一.游戏规则 二.实现逻辑 1.绘制棋盘 2.落子 ...
- GitHub 上有哪些适合新手跟进的优质项目?(附地址)
作者 | 小G 来源 | 公众号GitHubDaily 从 2015 年至今,我们累计在 GitHub 上看了上万个开源项目,并一直关注着开源圈的动态,通过这样的习惯,使得我们挖掘出了不少优质的 Gi ...
- 交换机配置软件crt安装_非常详细的锐捷二层交换机配置教程,适合新手小白
笔者上一篇文章写了关于锐捷三层交换机配置教程,但是这只是核心的配置,还不能搭建一个完整的企业网络.那么这一篇就来讲一下锐捷的二层交换机配置,比起三层交换机的配置,二层交换机配置就非常简单了.同样,今天 ...
- MYSQL服务的极简免配置快绿色速安装法[适合新手和懒人]
强调:适合新手和懒人! mysql最快速安装方法(极简.免配置): 下载官方绿色压缩包,解压到某目录最好为英文),用管理员权限打开CMD,定位到mysqld.exe所在目录,直接运行 mysqld - ...
最新文章
- C++知识点15——使用C++标准库(IO流)
- 卓越性能代码_「Win」被隐藏起来的卓越性能模式,为何不想让人发现?
- python语言入门e_python 语言学入门第一课必看:编码规范
- 服务器能进系统滴滴响,曙光服务器开机滴滴响
- Linux基础命令---fold
- 内存条上面参数详解_价格极低的国产颗粒内存条:光威弈系列Pro评测,超频表现超稳定...
- ERP财务报表快消失了?用它做财务系统根本不够用
- mxnet入门--第6篇
- 用友U8.72 审核成品入库单时生成销售出库单 SQL触发器 --白波九道
- 微信小程序测试号申请页面不显示AppID 和AppSecret的解决办法
- 国际长途电话区号(中英文名)
- 微信域名防屏蔽防封系统,轻松微信中域名网站被屏蔽被封的问题
- 以图搜图 图像匹配_基于内容的图像检索(CBIR) ——以图搜图
- oracle database lite,Oracle Database Lite Client 10
- 谷歌浏览器提示adobeflashplayer已过期
- LL(1)文法的判断
- soul-网关实战(二)如何成为了Soul的贡献者
- 关于未名湖边的烦恼问题
- 【转】jar参数运行应用时classpath的设置方法
- ERROR | RuntimeError: Python 3.5 or later is required