[thinkPHP5项目实战_30]留言板功能完善
2017-11-12 15:53
316 查看
实现的功能:打开留言本页面展示留言,并提供留言功能:
打开application/index/controller/Guest.php控制器:
<?php
namespace app\index\controller;
class Guest extends Basic
{
public function index()
{
if(request()->isPost()){
$data=[
'nickname'=>input('inpName'),
'homepage'=>input('inpHomePage'),
'email'=>input('inpEmail'),
'content'=>input('txaArticle'),
'time'=>time(),
];
if(\think\Db::name('guest')->insert($data)){
return $this->success('留言成功,正在跳转','Guest/index');
}else{
return $this->success('留言提交失败','Guest/index');
}
return;
}
$guestres=\think\Db::name('guest')->select();
$this->assign('guestres',$guestres);
return $this->fetch('guest');
}
}
对应的模板guest.html:
<body>
{include file="Public/header" /}
<div class="container">
<div class="row">
<div class="col-sm-8 blog-main">
<div id="divMain">
<br>
<ul style="list-style: none;">
{volist name="guestres" id="vo"}
<li>
<div>
<img class="avatar" src="http://cn.gravatar.com/avatar/75e215cea7a9364665ca688b5a23a58a?s=40&d=mm" alt="" width="32" />
<strong>{$vo.nickname}</strong>
</div>
<div style="color: gray;">
<small> 发布于 {$vo.time|date="Y年m月d日 H:i:s",###}
</div>
<div style="color: orange;font-style: italic;font-weight: bold;">{$vo.content}</div>
</li>
<br>
{/volist}
</ul>
<div class="post" id="divCommentPost">
<p class="posttop"><a name="comment">发表留言:</a></p>
<form id="frmSumbit" target="_self" method="post" action="{:url('guest/index')}">
<input type="hidden" name="inpId" id="inpId" value="2" />
<input type="hidden" name="inpArticle" id="inpArticle" value="" />
<input type="hidden" name="inpRevID" id="inpRevID" value="" />
<p>
<input type="text" name="inpName" id="inpName" class="text" value="" size="28" tabindex="1" />
<label for="inpName">名称(必填)</label>
</p>
<p>
<input type="text" name="inpEmail" id="inpEmail" class="text" value="" size="28" tabindex="2" />
<label for="inpEmail">邮箱</label>
</p>
<p>
<input type="text" name="inpHomePage" id="inpHomePage" class="text" value="" size="28" tabindex="3" />
<label for="inpHomePage">网站链接</label>
</p>
<p>
<label for="txaArticle">正文(必填)(留言最长字数:1000)</label>
</p>
<p>
<textarea name="txaArticle" id="txaArticle" cols="50" rows="4" tabindex="5"></textarea>
</p>
<p>
<input name="btnSumbit" type="submit" tabindex="6" value="提交" class="button" />
</p>
</form>
<p class="postbottom">◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。</p>
</div>
</div>
</div>
</div>
</div>
{include file="Public/footer" /}
</body>
对应的数据表tp5_guest结构:
效果:
打开application/index/controller/Guest.php控制器:
<?php
namespace app\index\controller;
class Guest extends Basic
{
public function index()
{
if(request()->isPost()){
$data=[
'nickname'=>input('inpName'),
'homepage'=>input('inpHomePage'),
'email'=>input('inpEmail'),
'content'=>input('txaArticle'),
'time'=>time(),
];
if(\think\Db::name('guest')->insert($data)){
return $this->success('留言成功,正在跳转','Guest/index');
}else{
return $this->success('留言提交失败','Guest/index');
}
return;
}
$guestres=\think\Db::name('guest')->select();
$this->assign('guestres',$guestres);
return $this->fetch('guest');
}
}
对应的模板guest.html:
<body>
{include file="Public/header" /}
<div class="container">
<div class="row">
<div class="col-sm-8 blog-main">
<div id="divMain">
<br>
<ul style="list-style: none;">
{volist name="guestres" id="vo"}
<li>
<div>
<img class="avatar" src="http://cn.gravatar.com/avatar/75e215cea7a9364665ca688b5a23a58a?s=40&d=mm" alt="" width="32" />
<strong>{$vo.nickname}</strong>
</div>
<div style="color: gray;">
<small> 发布于 {$vo.time|date="Y年m月d日 H:i:s",###}
</div>
<div style="color: orange;font-style: italic;font-weight: bold;">{$vo.content}</div>
</li>
<br>
{/volist}
</ul>
<div class="post" id="divCommentPost">
<p class="posttop"><a name="comment">发表留言:</a></p>
<form id="frmSumbit" target="_self" method="post" action="{:url('guest/index')}">
<input type="hidden" name="inpId" id="inpId" value="2" />
<input type="hidden" name="inpArticle" id="inpArticle" value="" />
<input type="hidden" name="inpRevID" id="inpRevID" value="" />
<p>
<input type="text" name="inpName" id="inpName" class="text" value="" size="28" tabindex="1" />
<label for="inpName">名称(必填)</label>
</p>
<p>
<input type="text" name="inpEmail" id="inpEmail" class="text" value="" size="28" tabindex="2" />
<label for="inpEmail">邮箱</label>
</p>
<p>
<input type="text" name="inpHomePage" id="inpHomePage" class="text" value="" size="28" tabindex="3" />
<label for="inpHomePage">网站链接</label>
</p>
<p>
<label for="txaArticle">正文(必填)(留言最长字数:1000)</label>
</p>
<p>
<textarea name="txaArticle" id="txaArticle" cols="50" rows="4" tabindex="5"></textarea>
</p>
<p>
<input name="btnSumbit" type="submit" tabindex="6" value="提交" class="button" />
</p>
</form>
<p class="postbottom">◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。</p>
</div>
</div>
</div>
</div>
</div>
{include file="Public/footer" /}
</body>
对应的数据表tp5_guest结构:
效果:
相关文章推荐
- [thinkPHP5项目实战_20]友情链接功能完善
- [thinkPHP5项目实战_28]前台文章"相关文章"的功能完善
- [thinkPHP5项目实战_29]前台首页和文章搜索功能完善
- 30讲项目实战:网站面包屑导航+表单功能开发
- yii2项目实战-用户管理之登录与注册功能实现
- 【springmvc+mybatis项目实战】杰信商贸-30.出口报运增删查修mapper+Dao+Service+Controller
- SSH综合项目实战(快递) -- day05 分区功能、定区功能、CXF整合spring
- 十六.增加一个项目协作留言板功能(二)----- 建立一个任务管理的列表页面
- [thinkPHP5项目实战_11]栏目修改
- 【SSH网上商城项目实战09】添加和更新商品类别功能的实现
- 【SSH项目实战】国税协同平台-30.投诉受理&保存受理信息
- [thinkPHP5项目实战_26]前台文章关键词搜索
- [thinkPHP5项目实战_06]引入前台页面
- 【SSH网上商城项目实战12】添加和更新商品功能的实现
- 【SSH网上商城项目实战18】过滤器实现购物登录功能的判断
- 【原】让代码轻盈地飞舞——IDEA13最实用的功能,全面提升开发效率(桌面java项目开发实战)持续更新中
- 【SSH网上商城项目实战26】完成订单支付后的短信发送功能
- [thinkPHP5项目实战_16]文章列表展示
- 【SSH项目实战】国税协同平台-15.系统、子系统首页&登录功能2
- 微信小程序教学第四章第三节(含视频):小程序中级实战教程:详情-功能完善