留言板项目实战

留言板项目实战

**
一、项目需求

  • 用户登录

  • 发表留言

  • 删除本人留言

  • 查看本人留言
    二、编码实现

  • 编写模型

    代码如下:

<?php /** - Project:thinkphp-inaction - User:zhangjinjin - Date:2018/11/20 - Time:17:36 */ namespace Home\Model; use Think\Model\ViewModel; class MessageViewModel extends ViewModel { public $viewFields = array( 'Message' =>array('message_id','content','created_at'), 'User'=>array('user_id','username','_on' =>'User.user_id=Message.user_id') ); } - 编写留言控制器 代码如下: <?php namespace Home\Controller; use Home\Model\MessageViewModel; use Think\Controller; use Think\Model; use Think\Page; class IndexController extends Controller { /** * 检测登陆 */ private function checkLogin() { if(!session('user.userId')){ $this->error('请登录',U('User/login')); } } /** * 留言列表 */ Public function index() { $model = new MessageViewModel(); $count = $model->count(); $page = new Page($count,1); $show = $page->show(); $list = $model->order('message_id desc')->limit($page->firstRow . ',' . $page->listRows)->select(); $this->assign('page',$show); $this->assign('list',$list); $this->display(); } /** * 发表留言 */ public function post() { $this->checkLogin(); $this->display(); } /** * 留言处理 */ public function do_post() { $this->checkLogin(); $content = I('content'); if(empty($content)){ $this->error('留言内容不能为空'); } if(mb_strlen($content,'utf-8')>100){ $this->error('留言内容最多100字'); } $model = new Model('Message'); $userId = session('user,userId'); $data = array( 'content'=>$content, 'created_at'=>time(), 'user_id =>$userId' ); if(!($model->create($data)&&$model->add())){ $this->error('留言失败'); } $this->success('留言成功',U('Index/index')); } public function delete() { $id = I('id'); if(empty(id)){ $this->error('缺失参数'); } $this->checkLogin(); $model = new Model('Message'); if(!$model->where(array('message_id'=>$id,'user_id'=>session('user.userId')))->delete()){ $this->error('删除失败'); } $this->success('删除成功',U('index')); } } - 编写用户控制器 代码如下: <?php /** * Project:thinkphp-incation * User:zhangjinjin * Date:2017/11/20 * Time:19:56 */ namespace Home\Controller; use Think\Controller; use Think\Model; /** * 用户控制器 * Class UserController * @package Home\Controller */ class UserController extends Controller { /** * 注册表单 */ public function register() { $this->display(); } /** * 注册处理 */ public function do_register() { $username = I('username'); $password = I('password'); $repassword = I('repassword'); if(empty($username)){ $this->error('用户名不能为空'); } if(empty($password)){ $this->error('密码不能为空'); } if($password!=$repassword){ $this->error('确认密码错误'); } //检测用户是否已注册 $model = new Model('User'); $user = $model->where(array('username'=>$username))->find(); if(!empty($user)){ $this->error('用户名已存在'); } $data = array( 'username'=>$username, 'password'=>md5($password), 'created_at'=>time() ); if(!($model->create($data)&&$model->add())){ $this->error('注册失败!'.$model->getDbError()); } $this->error('注册成功,请登录',U('login')); } /** * 用户登录 */ public function login() { $this->display(); } /** * 登录处理 */ public function do_login() { $username = I('username'); $password = I('password'); $model = new Model('User'); $user = $model->where(array('username'=>$username))->find(); if(empty($user)||$user['password']!=md5($password)){ $this->error('账号或密码错误'); } //写入session session('user.userId',$user['user_Id']); session('user.username',$user['username']); //跳转首页 $this->redirect('Index/index'); } /** * 退出登录 */ public function logout() { if(!session('user.userId')){ $this->error('请登录'); } session_destroy(); $this->success('退出登录成功',U('Index/index')); } }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值