个人博客系统开发-个人中心功能实现及其他

  • 2019 年 12 月 27 日
  • 筆記

今天我们继续开发个人博客系统,昨天我们做了登录功能,今天我们完善一下后台主页,并作出个人资料的修改功能。

说明:在登录页面我们做了小的优化,包括验证码点击更改,添加鼠标滑过成手状的css样式(已经同步至码云)。

一、创建个人主页模板

在admin模块view目录下创建Common文件夹,里面新建公共头文件header.html,在Index中新建index.html文件(后台首页文件),具体代码文件已经同步至码云。

二、创建个人中心模板

个人中心包含账户名称、密码及手机号这三者的修改和展示。

三、个人中心功能实现

代码如下:

<?php  /**   * Created by PhpStorm.   * User: Administrator   * Date: 2019/5/9 0009   * Time: 下午 9:38   */    namespace appadmincontroller;    use appcommonmodelUser;  use thinkcaptchaCaptcha;  use thinkController;    class Login extends Controller  {      protected $user_model;        public function __construct()      {          parent::__construct();          $this->user_model = new User();      }        /**       * 登录页面       * @return thinkresponseView       */      public function index()      {          return view();      }        /**       * 登录处理       * @throws thinkdbexceptionDataNotFoundException       * @throws thinkdbexceptionModelNotFoundException       * @throws thinkexceptionDbException       */      public function getLogin()      {          $userName = input('post.userName'); //账户          $userPass = input('post.userPass'); //密码          $code     = input('post.code'); //验证码          if (!captcha_check($code)) {              // 验证失败              $this->error('验证码错误');          };          if (!$userName || !$userPass) {              //数据不完整              $this->error('请填写账号或密码');          }          $res = $this->user_model->getDataOne(['user_name' => $userName], 'id,user_status,user_pass');          if (!$res) {              $this->error('账号或密码错误');          }          if ($res['user_pass'] !== md5($userPass)) {              $this->error('账号或密码错误');          }          if ($res['user_status'] == 2) {              $this->error('账户已冻结');          }          //记录session          session('userName', $userName, 'thinkBlog');          session('userId', $res['id'], 'thinkBlog');          $this->success('登录成功', '/admin');      }        /**       * 验证码       * @return mixed       */      public function code()      {          $config  = [              // 验证码字体大小              'fontSize' => 30,              // 验证码位数              'length'   => 3,              // 关闭验证码杂点              'useNoise' => false,          ];          $captcha = new Captcha($config);          return $captcha->entry();      }        /**       * 退出登录       */      public function out()      {          session(null, 'thinkBlog');          $this->success('成功退出');      }  }

四、退出登录

代码见三中代码;