| Server IP : 138.197.107.151 / Your IP : 216.73.217.120 Web Server : Apache/2.4.58 (Ubuntu) System : Linux BloxBy-Builder 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64 User : wpbetasites_mrakzqskir ( 1022) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/shark-admin/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use App\Models\User;
class LoginController extends Controller
{
// Show login form
public function showLoginForm()
{
$title = "Login";
return view('auth.login', compact('title'));
}
// Handle login submission
public function login(Request $request)
{
// Validate input
$credentials = $request->validate([
'email' => ['required', 'email'],
'password' => ['required'],
]);
$remember = $request->has('remember-me');
// Attempt login
if (Auth::attempt($credentials, $remember)) {
$user = auth()->user();
if ($user->role === 'admin') {
$request->session()->regenerate();
return redirect()->intended('dashboard'); // Or any intended route
} else {
// Role does not match, log the user out
Auth::logout();
return back()->withErrors(['email' => 'Invalid Email or Password']);
}
} else {
return back()->withErrors([
'email' => 'Invalid Email or Password',
]);
}
// Login failed
return back()->withErrors([
'email' => 'Invalid Email or Password',
]);
}
// Handle logout
public function logout(Request $request)
{
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/login');
}
public function showSendResetPasswordEmailForm()
{
$title = "Reset password";
return view('auth.reset_password_email');
}
}