后台用户模块——用户列表和添加用户


1.创建后台用户资源路由

     //后台用户模块相关路由
     Route::resource('user','UserController');

2.创建后台用户资源控制器

f:\xampp\php\php.exe artisan make:controller Admin/UserController --resource

3.查看所有资源路由对应的控制器方法

f:\xampp\php\php.exe artisan route:list

4.用户列表和添加用户的地址链接

  //用户列表
      <a _href="{{ url('admin/user') }}">
          <cite>用户列表</cite>
      </a>
  //添加用户
      <a _href="{{ url('admin/user/create') }}">
            <cite>添加用户</cite>
      </a>

5.编写用户列表控制器方法

    // 获取用户列表
    public function index()
    {
      return view('admin.user.list');
    }

6.引入用户列表页模板

  • 位置:views/admin/user/list.blade.php
  • 修改标题:
    <title>用户列表页</title>
  • 引入css和js:
     @include('admin.public.styles')
     @include('admin.public.script')

7.编写添加用户控制器方法

      //返回用户添加页面
      public function create()
      {
          return view('admin.user.add');
      }

8.在用户列表页点击添加用户按钮,添加用户地址链接

  <button class="layui-btn" 
    //x_admin_show()的第一个参数是页面标题,第二个参数是请求的页面网址,第三个参数是页面的宽高
    onclick="x_admin_show('添加用户','{{url('admin/user/create')}}',600,400)">
    添加
  </button>

9.引入添加用户页模板

  • 位置:
    views/admin/user/add.blade.php
  • 引入css和js:
    @include('admin.public.styles')
    @include('admin.public.script')

10.用ajax实现添加用户的操作

  • ajax事件
  //点击添加按钮,触发x_admin_show的onlick事件
  <button class="layui-btn" 
    //x_admin_show()的第一个参数是页面标题,第二个参数是请求的页面网址,第三个参数是页面的宽高
    onclick="x_admin_show('添加用户','{{url('admin/user/create')}}',600,400)">
    <i class="layui-icon"></i>
    添加
  </button>
  • 表单请求头添加csrf-token
      <meta name="csrf-token" content="{{ csrf_token() }}">
  • js代码
            //监听提交
            form.on('submit(add)', function(data) {
                //发异步,把数据提交给php
                $.ajax({
      //发送的方式
                    type: 'POST',
      //发送的网址
                    url: '/admin/user',
      //请求的数据类型
                    dataType: 'json',
      //请求头附带layui框架的csrf-token
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    },
                    //data.field为当前容器的全部表单字段,名值对形式:{name: value}
                    data: data.field,
                    success: function(data) {
                        //弹层提示添加成功,并刷新父页面
                        //console.log(data);
                        if (data.status == 0) {
                            layer.alert(data.message,{icon:6},function(){
         //刷新父页面
                                parent.location.reload(true);
                            });
                        }else{
                            layer.alert(data.message,{icon:5});
                        }
                    },
                    error: function() {
                        //错误信息
                    }
                });
    //阻止网页submit事件提交
                return false;
            });

11.执行用户添加操作控制器方法

 //执行用户添加操作
    public function store(Request $request)
    {
        //1.接收前台表单提交的数据:email、pass、repass
        $input = $request->all();
        //2.进行表单验证

        //3.添加到数据库的user表
        $username = $input['email'];
        $pass = Crypt::encrypt($input['pass']);
        $res = User::create(['user_name'=>$username,'user_pass'=>$pass,'email'=>$input['email']]);
        //4.根据添加是否成功,给客户端返回一个json格式的反馈
        if ($res) {
            $data = [
                'status'=>0,
                'message'=>'添加成功',
            ];
        }else {
            $data = [
                'status'=>1,
                'message'=>'添加失败',
            ];
        }
        //json_encode($data);laravel默认将$data数组转换成json数据
        return $data;
    }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM