Added login and profile page
This commit is contained in:
parent
67abd0b6d1
commit
b25459ad6f
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class LoginController extends Controller {
|
||||
public function login(Request $request) {
|
||||
$credentials = $request->validate([
|
||||
'email' => 'required|email|string',
|
||||
'password' => 'required|string',
|
||||
]);
|
||||
|
||||
if (Auth::attempt($credentials, $remember = false)) {
|
||||
$request->session()->regenerate();
|
||||
return redirect('/profile');
|
||||
}
|
||||
|
||||
return back()->withErrors([
|
||||
'email' => 'The provided credentials do not match our records.',
|
||||
]);
|
||||
}
|
||||
}
|
|
@ -17,7 +17,9 @@ class RegisterController extends Controller {
|
|||
|
||||
$user = User::create($data);
|
||||
|
||||
return redirect('/');
|
||||
auth()->login($user);
|
||||
|
||||
return redirect('/profile');
|
||||
} catch (ValidationException $e) {
|
||||
return redirect()->back()->withInput($request->input())->withErrors($e->errors());
|
||||
}
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
@extends('default')
|
||||
|
||||
@section('title')
|
||||
Log In
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<h1>Log In</h1>
|
||||
<form method="post" action="login">
|
||||
@csrf
|
||||
<label for="email">Email</label>
|
||||
<input type="email" name="email" id="email" value="{{ old('email') }}" required>
|
||||
<label for="password">Password</label>
|
||||
<input type="password" name="password" id="password" required>
|
||||
<button type="submit">Log In</button>
|
||||
</form>
|
||||
<pre style="color: red;">{{ $errors->first() }}</pre>
|
||||
@endsection
|
|
@ -0,0 +1,12 @@
|
|||
@extends('default')
|
||||
|
||||
@section('title')
|
||||
Profile
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<h1>Profile</h1>
|
||||
<p>Username: <em>{{ Auth::user()->name }}</em></p>
|
||||
<p>Email: <em>{{ Auth::user()->email }}</em></p>
|
||||
<p>Created at: <em>{{ Auth::user()->created_at }}</em></p>
|
||||
@endsection
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Http\Controllers\RegisterController;
|
||||
use App\Http\Controllers\LoginController;
|
||||
|
||||
Route::get('/', function () {
|
||||
return view('welcome');
|
||||
|
@ -10,4 +11,23 @@ Route::get('/', function () {
|
|||
Route::get('/register', function () {
|
||||
return view('register');
|
||||
});
|
||||
|
||||
Route::post('/register', [RegisterController::class, 'create']);
|
||||
|
||||
Route::get('/login', function () {
|
||||
return view('login');
|
||||
});
|
||||
|
||||
Route::post('/login', [LoginController::class, 'login']);
|
||||
|
||||
Route::get('/logout', function () {
|
||||
auth()->logout();
|
||||
return redirect('/');
|
||||
});
|
||||
|
||||
Route::get('/profile', function () {
|
||||
if (!auth()->check()) {
|
||||
return redirect('/');
|
||||
}
|
||||
return view('profile');
|
||||
});
|
Loading…
Reference in New Issue