返回使用小框架做一......登陆

使用小框架做一个用户信息管理系统

在乎山水2019-03-12 21:01:49210
系统的控制器代码如下

<?php
namespace app\admin\controller;
use pig\core\Controller;
use app\model\User;
session_start();
class Index extends Controller
{
   public function __construct()
    {
        parent::__construct();
    }
    //测试访问路由就访问到这个方法
    public function demo($name='真的是')
    {
       echo $name;
    }
    //演示模板引擎的使用
    public function testView()
    {
       //变量
        $site = 'www.php.cn';
      //数组
      $courses = ['php','java','python'];
      //对象
      $lecture = new \stdClass();//命名空间是根目录
      $lecture->name = '灭绝师太';
      $lecture->age = 24;
      $lecture->course='前端开发';
        //测试是否能解析变量
        $this->assign('site',$site);//这是自己写的赋值和渲染模板在controller里面
        $this->assign('courses',$courses);
      $this->assign('lecture',$lecture);
        //渲染模板,自己写的
        $this->fetch(__DIR__.'/../view/index/testView.php');
    }
   //获取用户信息列表
   public function index()
   {
      $rows = (new User())->select('user',['id','name','sex','age','phone','email','birthday'],[
          //搜索功能,如果用户提交了搜索条件就根据条件搜索,否则显示全部
            'name[~]'=>isset($_POST['name']) ? $_POST['name'] : null
            //name[~]表示搜索字段的某一个字符就行
        ]);
      //调用plates模板引擎进行模板赋值和模板渲染 $this->view调用模板
      //render()的第二个参数就是我们所要传递的数据
      return $this->view->render('admin::index/index',[
             'rows'=>$rows,
             'title'=>'生日信息表',
             'loginUrl'=>'admin/Index/login',//登录
             'logoutUrl'=>'admin/Index/logout',//退出登录
             'indexUrl'=>'/frame_project/',//返回首页
             'insUrl'=>'admin/Index/insert',//添加操作
             'editUrl'=>'admin/Index/edit',//编辑操作
             'delUrl'=>'admin/Index/delete',//删除操作
      ]);//admin是一个路径,在controller里面设置了这里调用需要加::
   }
   //管理员登录
   public function login()
   {
      if($_SERVER['REQUEST_METHOD']=='POST'){//判断是否是post提交的数据
         //验证用户
            $user=$_POST['name'];
            $pass=$_POST['password'];
         $res = (new User())->get('admin',['name','email','password'],[ 'AND'=>['name'=>$user, 'password'=>$pass,]]);
         if($res==null){
            echo "<script>alert('姓名或密码不正确');location.href='/frame_project/';</script>";
         }else{
            $_SESSION['name']=$res['name'];//将姓名保存到session,方便下次打开页面是做判断
            echo "<script>alert('登录成功');location.href='/frame_project/';</script>";
         }
      }
   }
   //退出登录
   public function logout()
   {
      session_destroy();//销毁session
      echo "<script>alert('退出成功');location.href='/frame_project/';</script>";
   }
   //添加数据分两步:1.渲染出一个添加表单,2.将数据写入表中
   public function insert()
   {
      return $this->view->render('admin::index/insert',[
              'title'=>'添加记录',
              'url'=>'/frame_project/admin/Index/add',
      ]);
   }
   //添加操作
   public function add()
   {
      if($_SERVER['REQUEST_METHOD']=='POST'){
          //执行添加操作
            (new User())->insert('user',[
                'name'=>$_POST['name'],
                'sex'=>$_POST['sex'],
                'age'=>$_POST['age'],
                'phone'=>$_POST['phone'],
                'email'=>$_POST['email'],
                'birthday'=>$_POST['birthday'],
            ]);
            echo "<script>alert('添加成功');location.href='/frame_project/';</script>";
        }
   }
   //编辑操作
    public function edit($id='')
    {
        $row = (new User())->get('user',['id','name','sex','age','phone','email','birthday'],[ 'AND'=>['id'=>$id]]);
        return $this->view->render('admin::index/edit',[
            'title'=>'编辑用户',
            'url'=>'/frame_project/admin/Index/save',
            'row'=>$row,
        ]);
    }
    //执行更新操作
    public function save($id)
    {
        if($_SERVER['REQUEST_METHOD']=='POST'){
            //执行添加操作
            (new User())->update('user',[
                'name'=>$_POST['name'],
                'sex'=>$_POST['sex'],
                'age'=>$_POST['age'],
                'phone'=>$_POST['phone'],
                'email'=>$_POST['email'],
                'birthday'=>$_POST['birthday'],
            ],['id'=>$id]);
            echo "<script>alert('更新成功');location.href='/frame_project/';</script>";
        }
    }
    //执行删除操作
    public function delete($id)
    {
        (new User())->delete('user',['id'=>$id]);
        echo "<script>alert('删除成功');location.href='/frame_project/';</script>";
    }
}

页面展示:

QQ图片20190312210128.png

最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送