TIF_E41202317/app/Http/Controllers/LoginController.php

79 lines
2.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
public function index()
{
return view('login.index');
}
public function login(Request $request)
{
$request->validate([
'username' => 'required',
'password' => 'required',
]);
$data = [
'username' => $request->username,
'password' => $request->password
];
if (Auth::attempt($data)) {
return redirect()->route('dashboard');
} else {
return redirect()->back()->with('message', 'Username atau Password salah!');
}
}
public function regis(Request $request)
{
$request->validate([
'username' => 'required',
'email' => 'required|email|unique:users,email', // Validasi unik yang benar
'password' => 'required|min:5',
]);
$data = [
'username' => $request->username,
'email' => $request->email,
'password' => bcrypt($request->password),
];
User::create($data); // Menggunakan model User dengan namespace yang tepat
$login = [
'username' => $request->username,
'password' => $request->password,
];
// Otentikasi pengguna setelah registrasi
if (Auth::attempt($login)) {
// Redirect ke halaman login.index setelah berhasil login
return redirect()->route('login-admin')->with('success', 'Registrasi berhasil, silakan login.');
}
// Jika gagal login, kembalikan ke halaman registrasi dengan pesan error
return redirect()->route('register')->withErrors(['login' => 'Registrasi berhasil, tetapi gagal login otomatis. Silakan login secara manual.']);
}
public function reg()
{
// Logika untuk menampilkan halaman registrasi
return view('login.register');
}
public function logout(Request $request)
{
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect()->route('welcome');
}
}