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;
}