AdminController.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\Models\WebForm;
  5. class AdminController extends Controller
  6. {
  7. public function index() {
  8. $records = WebForm::orderBy('created_at', 'DESC')->paginate(30);
  9. return view('app.admin.index', compact('records'));
  10. }
  11. public function login() {
  12. return view('app.admin.login');
  13. }
  14. public function submitLogin(Request $request){
  15. $request->validate([
  16. 'username' => 'required|string',
  17. 'password' => 'required|string'
  18. ]);
  19. $username = $request->get('username');
  20. $password = $request->get('password');
  21. $expectedUsername = config('app.adminSessionUsername');
  22. $expectedPassword = config('app.adminSessionPassword');
  23. if($username !== $expectedUsername && $password !== $expectedPassword){
  24. return redirect()->back()->with('error', 'Invalid credentials!');
  25. }
  26. $request->session()->put('adminSession', rand());
  27. return redirect()->to(route('admin.index'));
  28. }
  29. public function logout(Request $request){
  30. if (!$request->session()->exists('adminSession')) {
  31. return redirect()->to(route('login'));
  32. }
  33. $request->session()->forget('adminSession');
  34. return redirect()->to(route('admin.index'));
  35. }
  36. }