'required|email', 'password' => 'required' ); $validator = Validator::make($request->all(), $rules); // process the login if ($validator->fails()) { return Redirect::to('login') ->withErrors($validator) ->withInput($request->except('password')); } else { try { $user = User::where('email', $request->email)->first(); if (Hash::check($request->password, $user->password)) { // Set Auth Auth::login($user); // Create Session message Session::flash('login-message', [ 'type' => 'success', 'msg' => 'Anda berhasil melakukan Login!' ]); // redirect return Redirect::to('/transaksi'); } else { // Create Session message Session::flash('message', [ 'type' => 'warning', 'msg' => 'Username atau password anda salah!' ]); // redirect return Redirect::to('login')->withInput($request->except('password')); } } catch (Exception $e) { // Create Session message Session::flash('message', [ 'type' => 'warning', 'msg' => 'Username atau password anda salah!' ]); // redirect return Redirect::to('login')->withInput($request->except('password')); } } } public function login_proses(Request $request) { $validator = Validator::make( $request->all(), [ 'email' => ['required', 'string', 'email', 'exists:users,email'], 'password' => ['required', 'string'], ], ['email.exists' => 'Akun anda belum terdaftar'] ); $errors = $validator->errors(); $emailErrorMessage = $errors->first('email'); if ($validator->fails()) { // dd($validator->errors()); Session::flash('message', [ 'type' => 'warning', 'msg' => $emailErrorMessage ]); return Redirect::to('login')->withInput($request->except('password')); } try { if (Auth::attempt($validator->validated(), $request->has('remember_me') ? true : false)) { $user = auth()->user(); session()->put('id', $user->id); session()->put('name', $user->name); Session::flash('login-message', [ 'type' => 'success', 'msg' => 'Anda berhasil melakukan Login!' ]); return Redirect::to($this->redirectTo()); } // Create Session message Session::flash('message', [ 'type' => 'warning', 'msg' => 'Username atau password anda salah!' ]); // redirect return Redirect::to('login')->withInput($request->except('password')); } catch (\Exception $e) { // Create Session message Session::flash('message', [ 'type' => 'warning', 'msg' => 'Terjadi Kesalahan!' ]); // redirect return Redirect::to('login')->withInput($request->except('password')); } } public function redirectTo() { $role = Auth::user()->role; switch ($role[0]->name) { case 'Admin': return '/dashboard'; break; case 'Kasir': return '/transaksi'; break; default: return '/transaksi'; break; } } /** * Logout and back to form login */ public function logout() { // logout and clear data Auth Auth::logout(); return Redirect::to('login'); } }