TIF_NGANJUK_E41211253/app/Http/Controllers/AuthController.php

69 lines
2.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Models\User;
class AuthController extends Controller
{
public function index(){
return view('login.index');
}
public function login_proses(Request $request){
$request->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!');
}
}