Flash Message Laravel
1. Buka Laragon, tekan Start All (Apache & MySQL).
2. Klik
kanan Laragon → Terminal (itu biasanya membuka Git Bash / CMD yang sudah
siap). Atau buka PowerShell di C:\laragon\www.
3. Buat Projek Laravel : composer create-project laravel/laravel FlashMessage "10.*"
d FlashMessage
4. Buat Database
Ketik perintah untuk membuat database : mysql
-u root -p
Setelah itu create database
6. Buka file FlashMessage/.env di VS Code. Ubah bagian database dan app name
APP_NAME="FlashMessage"
APP_ENV=local
APP_KEY=base64:Dlr3W1Sz3M8Jx272XlTKfiuxyWYfDt2fyjsrnn/pxoM=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=flashmessage
DB_USERNAME=root
DB_PASSWORD=
7. Simpan file .env.
Jalankan perintah di terminal:
php artisan config:clear
php artisan key:generate
composer require laravel/breeze --dev
php artisan breeze:install blade
npm install
npm run dev
php artisan migrate
10. Uji coba login/register
Ketik dulu di terminal untuk menjalankan server
php artisan serve
http://127.0.0.1:8000/register
11. Buat Partial Flash Message
resources/views/components/flash-message.blade.php
Lalu isi file tersebut. Ini bebas ya desain sesuai selera:
@if ($message = session('success'))
<div x-data="{ show: true }"
x-show="show"
x-init="setTimeout(() => show = false, 3000)"
class="mb-4 p-4 rounded-lg bg-gradient-to-r from-pink-200
to-blue-200 border border-pink-300 text-pink-900 shadow-md">
<strong class="font-semibold">Sukses:</strong> {{
$message }}
</div>
@endif
@if ($message = session('error'))
<div x-data="{ show: true }"
x-show="show"
x-init="setTimeout(() => show = false, 3000)"
class="mb-4 p-4 rounded-lg bg-red-100 border border-red-300
text-red-700 shadow-md">
<strong class="font-semibold">Error:</strong> {{
$message }}
</div>
@endif
Tambahkan di file layout utama Breeze : resources/views/layouts/app.blade.php
Isi dengan ini:
<!DOCTYPE html>
<html lang="{{ str_replace('_',
'-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,
initial-scale=1">
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Fonts -->
<link rel="preconnect"
href="https://fonts.bunny.net">
<link
href="https://fonts.bunny.net/css?family=figtree:400,600&display=swap"
rel="stylesheet" />
<!-- Scripts -->
@vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
<body class="font-sans antialiased">
<div class="min-h-screen bg-gray-100">
@include('layouts.navigation')
<!-- Page Heading -->
@if (isset($header))
<header class="bg-white
shadow">
<div
class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
{{ $header }}
</div>
</header>
@endif
<!-- Page Content -->
<main class="p-6">
{{-- 🔹
Flash Message di sini --}}
@include('components.flash-message')
{{-- Konten Halaman
--}}
{{ $slot }}
</main>
</div>
</body>
</html>
Tambahin route di routes/web.php, isi
dengan:
<?php
use App\Http\Controllers\ProfileController;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Di sini kita daftar semua route aplikasi
web.
|
*/
Route::get('/', function () {
return view('welcome');
});
// 🔹 Tambahan route untuk
uji coba flash message
Route::get('/test-flash', function () {
return redirect('/')
->with('success', 'Flash message berhasil tampil ✨');
});
Route::get('/dashboard', function () {
return view('dashboard');
})->middleware(['auth',
'verified'])->name('dashboard');
Route::middleware('auth')->group(function
() {
Route::get('/profile', [ProfileController::class,
'edit'])->name('profile.edit');
Route::patch('/profile', [ProfileController::class,
'update'])->name('profile.update');
Route::delete('/profile', [ProfileController::class,
'destroy'])->name('profile.destroy');
});
require __DIR__.'/auth.php';
14. Lakukan uji coba terhadap flash message