validate([ 'email' => 'required', 'password' => 'required', ]); $data=[ 'email' => $request->email, 'password' => $request->password ]; if(Auth::attempt($data)){ return redirect()->route('dashboard'); }else{ return redirect()->route('login')->with('failed','Email atau Password Salah!!'); } } public function ganti(){ return view('login.gantisandi'); } public function changePasswordProses(Request $request) { $request->validate([ 'email' => 'required|email|exists:users,email', 'new_password' => 'required|min:8|confirmed', ], [ 'email.required' => 'Email diperlukan.', 'email.email' => 'Format email tidak valid.', 'email.exists' => 'Email tidak ditemukan.', 'new_password.required' => 'Kata sandi baru diperlukan.', 'new_password.min' => 'Kata sandi baru harus memiliki minimal 8 karakter.', 'new_password.confirmed' => 'Konfirmasi kata sandi tidak cocok.', ]); $user = User::where('email', $request->email)->first(); if (!$user) { return redirect()->back()->with('failed', 'Pengguna tidak ditemukan.'); } try { $user->password = Hash::make($request->new_password); $user->save(); return redirect()->route('login')->with('success', 'Kata sandi berhasil diubah. Silakan login dengan kata sandi baru Anda.'); } catch (\Exception $e) { return redirect()->back()->with('failed', 'Terjadi kesalahan saat mengganti kata sandi.');} } public function logout(Request $request){ Auth::logout(); // Logout pengguna $request->session()->invalidate(); // Hapus sesi $request->session()->regenerateToken(); // Regenerasi token CSRF return redirect()->route('login')->with('success', 'Kamu berhasil keluar!'); } }