Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 0 additions & 15 deletions app/Http/Controllers/SessionController.php

This file was deleted.

45 changes: 45 additions & 0 deletions app/Http/Controllers/SessionsController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php

namespace App\Http\Controllers;
use Illuminate\Validation\ValidationException;


class SessionsController extends Controller

{

public function create()
{
return view('sessions.create');
}

public function store()
{
$attributes = request()->validate(
[
'email' => 'required|email',
'password' => 'required'
]);

if (auth()->attempt($attributes)){

return redirect('/')->with('success','Welcome back!');
}

throw ValidationException::withMessages(
[
'email' => 'Your provided credentials could not be verified.'
]);

}

}

public function destroy()
{
auth()->logout();

return redirect('/')->with('success','Goodbye!');
}

}
58 changes: 58 additions & 0 deletions resources/views/sessions/create.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<x-layout>
<section class="px-6 py-8">
<main class="max-w-lg mx-auto mt-20">
<h1 class="font-bold text-center mb-6 text-xl"><b>Sign In</b></h1>

<form method="POST" action="/sessions" class="mt-10">

@csrf

<div class="mb-6">
<lable class="block mb-2 uppercase font-bold text-xs text-gray-700"
for="email"
>Email
</lable>

<input class="bg-blue-50 border border-gray-400 p-2 w-full"
type="text"
name="email"
id="email"
value="{{ old('email') }}"
required
>
@error('email')
<p class="text-red-500 text-xs mt-1"> {{ $message }}</p>

@enderror
</div>

<div class="mb-6">
<lable class="block mb-2 uppercase font-bold text-xs text-gray-700"
for="password"
>Password
</lable>

<input class="bg-blue-50 border border-gray-400 p-2 w-full"
type="password"
name="password"
id="password"
required
>
@error('password')
<p class="text-red-500 text-xs mt-1"> {{ $message }}</p>

@enderror
</div>

<div class="mb-6">
<button class="mx-auto bg-blue-400 border border-gray-300 text-white py-2 px-4 rounded hover:bg-blue-500"
type="submit"
>Login
</lable>
</div>


</form>
</main>
</section>
</x-layout>
7 changes: 5 additions & 2 deletions routes/web.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
use App\Models\User;
use App\Http\Controllers\RegisterController;
use App\Http\Controllers\PostController;
use App\Http\Controllers\SessionController;
use App\Http\Controllers\SessionsController;

/*
|--------------------------------------------------------------------------
Expand Down Expand Up @@ -45,5 +45,8 @@

Route::post('register', [RegisterController::class, 'store'])->middleware('guest');

Route::post('logout', [SessionController::class, 'destroy']);
Route::post('logout', [SessionsController::class, 'destroy'])->middleware('auth');

Route::get('login', [SessionsController::class, 'create'])->middleware('guest');

Route::post('sessions', [SessionsController::class, 'store'])->middleware('guest');