This post was last updated on October 26th, 2021 at 06:12 am
Hi Dev,
Today, i we will show you laravel 8 custom login and registration. This article will give you simple example of laravel 8 custom login and registration. you will laravel 8 custom login and registration. In this article, we will implement a laravel 8 custom login and registration. So let’s follow few step to create example of laravel 8 custom login and registration.
Preview:-
Create Laravel App
run the following command to install the new laravel.
composer create-project --prefer-dist laravel/laravel custom_login
Connect To Database
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=
php artisan migrate
Create Auth Controller
php artisan make:controller AuthController
app\Http\Controllers\AuthController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Hash; use Session; use App\Models\User; use Illuminate\Support\Facades\Auth; class AuthController extends Controller { public function index() { return view('auth.login'); } public function customLogin(Request $request) { $request->validate([ 'email' => 'required', 'password' => 'required', ]); $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { return redirect()->intended('dashboard') ->withSuccess('Signed in'); } return redirect("login")->withSuccess('Login details are not valid'); } public function registration() { return view('auth.registration'); } public function customRegistration(Request $request) { $request->validate([ 'name' => 'required', 'email' => 'required|email|unique:users', 'password' => 'required|min:6', ]); $data = $request->all(); $check = $this->create($data); return redirect("dashboard")->withSuccess('You have signed-in'); } public function create(array $data) { return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => Hash::make($data['password']) ]); } public function dashboard() { if(Auth::check()){ return view('dashboard'); } return redirect("login")->withSuccess('You are not allowed to access'); } public function signOut() { Session::flush(); Auth::logout(); return Redirect('login'); } }
Create Routes
routes/web.php
use App\Http\Controllers\AuthController; Route::get('dashboard', [AuthController::class, 'dashboard']); Route::get('login', [AuthController::class, 'index'])->name('login'); Route::post('custom-login', [AuthController::class, 'customLogin'])->name('login.custom'); Route::get('registration', [AuthController::class, 'registration'])->name('register-user'); Route::post('custom-registration', [AuthController::class, 'customRegistration'])->name('register.custom'); Route::get('signout', [AuthController::class, 'signOut'])->name('signout');
Create Blade View Files
resources/views/auth/login.blade.php
@extends('dashboard') @section('content') <main class="login-form"> <div class="cotainer"> <div class="row justify-content-center"> <div class="col-md-4"> <div class="card"> <h3 class="card-header text-center">Login</h3> <div class="card-body"> <form method="POST" action="{{ route('login.custom') }}"> @csrf <div class="form-group mb-3"> <input type="text" placeholder="Email" id="email" class="form-control" name="email" required autofocus> @if ($errors->has('email')) <span class="text-danger">{{ $errors->first('email') }}</span> @endif </div> <div class="form-group mb-3"> <input type="password" placeholder="Password" id="password" class="form-control" name="password" required> @if ($errors->has('password')) <span class="text-danger">{{ $errors->first('password') }}</span> @endif </div> <div class="form-group mb-3"> <div class="checkbox"> <label> <input type="checkbox" name="remember"> Remember Me </label> </div> </div> <div class="d-grid mx-auto"> <button type="submit" class="btn btn-dark btn-block">Signin</button> </div> </form> </div> </div> </div> </div> </div> </main> @endsection
resources/views/auth/registration.blade.php
@extends('dashboard') @section('content') <main class="signup-form"> <div class="cotainer"> <div class="row justify-content-center"> <div class="col-md-4"> <div class="card"> <h3 class="card-header text-center">Register User</h3> <div class="card-body"> <form action="{{ route('register.custom') }}" method="POST"> @csrf <div class="form-group mb-3"> <input type="text" placeholder="Name" id="name" class="form-control" name="name" required autofocus> @if ($errors->has('name')) <span class="text-danger">{{ $errors->first('name') }}</span> @endif </div> <div class="form-group mb-3"> <input type="text" placeholder="Email" id="email_address" class="form-control" name="email" required autofocus> @if ($errors->has('email')) <span class="text-danger">{{ $errors->first('email') }}</span> @endif </div> <div class="form-group mb-3"> <input type="password" placeholder="Password" id="password" class="form-control" name="password" required> @if ($errors->has('password')) <span class="text-danger">{{ $errors->first('password') }}</span> @endif </div> <div class="form-group mb-3"> <div class="checkbox"> <label><input type="checkbox" name="remember"> Remember Me</label> </div> </div> <div class="d-grid mx-auto"> <button type="submit" class="btn btn-dark btn-block">Sign up</button> </div> </form> </div> </div> </div> </div> </div> </main> @endsection
resources/views/dashboard.blade.php
<!DOCTYPE html> <html> <head> <title>Laravel 8 Custom Login And Registration - codeplaners.com</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <nav class="navbar navbar-light navbar-expand-lg mb-5" style="background-color: #e3f2fd;"> <div class="container"> <a class="navbar-brand mr-auto" href="#">CodePlaners</a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav"> @guest <li class="nav-item"> <a class="nav-link" href="{{ route('login') }}">Login</a> </li> <li class="nav-item"> <a class="nav-link" href="{{ route('register-user') }}">Register</a> </li> @else <li class="nav-item"> <a class="nav-link" href="{{ route('signout') }}">Logout</a> </li> @endguest </ul> </div> </div> </nav> @yield('content') </body> </html>
Run Laravel Development Server
php artisan serve
http://127.0.0.1:8000/login
I hope it will assist you…