Flash session di Laravel adalah fitur yang digunakan untuk menyimpan data sementara, seperti pesan error atau notifikasi sukses, yang hanya tersedia untuk satu request berikutnya sebelum akhirnya otomatis terhapus. Fitur ini sangat berguna untuk menampilkan feedback kepada pengguna setelah melakukan suatu aksi di aplikasi.
Dalam pengembangan aplikasi web, memberikan respon yang jelas kepada pengguna setelah melakukan tindakan seperti menambah, mengedit, atau menghapus data merupakan hal yang penting. Di Laravel, kebutuhan ini dapat dipenuhi dengan mudah menggunakan fitur Flash session, sehingga interaksi antara sistem dan pengguna menjadi lebih informatif dan terarah.
Apa Itu Session Flash di Laravel?
Flash session di Laravel adalah mekanisme penyimpanan data sementara di dalam session yang digunakan untuk menampilkan informasi singkat kepada pengguna, seperti pesan sukses atau error. Berbeda dengan session biasa yang dapat bertahan lebih lama, flash session hanya tersedia untuk satu request berikutnya, sehingga cocok digunakan untuk kebutuhan notifikasi setelah proses tertentu.
Dalam praktiknya, flash session sering digunakan setelah aksi seperti menambah, mengedit, atau menghapus data. Misalnya, setelah pengguna berhasil menyimpan data, sistem dapat menampilkan pesan “Data berhasil disimpan” pada halaman berikutnya. Setelah halaman tersebut dimuat atau di-refresh, data flash akan otomatis terhapus, sehingga tidak perlu dikelola secara manual.
Membuat Flash Session di Laravel
Untuk membuat flash session di Laravel, step pertama kita membuat controller terlebih dahulu, Berikut cara membuat controllernya :
php artisan make:controller NotifControllerSetelah membuat controller buka file NotifController pada file app/Http/Controllers/NotifController.php dan masukan kode berikut:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class NotifController extends Controller
{
public function index()
{
return view ('notifikasi');
}
public function proses (Request $request)
{
session()->flash('sukses', 'Session Flash sudah berhasil dibuat');
return view('notifikasi');
}
}
Menambahkan Route Pada file routes/web.php
Route di Laravel berfungsi untuk pengatur lalu lintas permintaan (request) URL, menghubungkan alamat yang diakses oleh pengguna di browser ke controller, view, atau fungsi logika tertentu.
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\NotifController;
Route::get('/notifikasi', [NotifController::class, 'index']);
Route::post('/notifikasi/proses', [NotifController::class, 'proses']);Membuat Tampilan View dan Menampilkan Notifikasi
Buat file baru pada resources/views dengan nama file notifikasi.blade.php atau bisa disesuaikan dengan keinginan. Di sini kita akan mengecek session menggunakan fungsi session().
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Tutorial Session Laravel</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css">
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline' 'unsafe-eval' https://code.jquery.com https://cdn.jsdelivr.net;">
</head>
<body>
<div class="container mt-5">
<div class="card">
<div class="card-header text-center">
<h3>Tutorial Flash Session Laravel</h3>
</div>
<div class="card-body">
@if (session()->has('sukses'))
<div class="alert alert-success">
{{ session('sukses') }}
</div>
@endif
<form action="/notifikasi/proses" method="POST">
@csrf
<p>Klik tombol di bawah untuk mencoba session flash:</p>
<button type="submit" class="btn btn-primary">Klik Saya</button>
</form>
</div>
</div>
</div>
</body>
</html>Pengujian
Setelah seluruh kode berhasil disusun, langkah terakhir adalah melakukan pengujian untuk memastikan flash session berfungsi sebagaimana mestinya. Jalankan server lokal Anda dengan perintah php artisan serve, kemudian akses URL tutorial melalui browser.
Klik tombol yang telah disediakan untuk mengirimkan request, jika berhasil, sistem akan melakukan redirect kembali ke halaman utama dan menampilkan kotak notifikasi berwarna hijau berisi pesan sukses.
Anda dapat mencoba memuat ulang (refresh) halaman tersebut untuk membuktikan karakteristik flash session, notifikasi seharusnya otomatis menghilang karena datanya hanya dipertahankan untuk satu kali request saja.


FAQ
Berikut adalah beberapa pertanyaan popuper tentang membuat Flash Session di Laravel.
Apa itu Flash Session di Laravel?
Flash Session di Laravel adalah fitur untuk menyimpan data sementara di session yang hanya tersedia untuk satu request berikutnya.
Kapan sebaiknya menggunakan Flash Session?
Flash Session digunakan untuk menampilkan notifikasi seperti pesan sukses, error, atau informasi setelah user melakukan aksi tertentu.
Apa perbedaan Flash Session dan Session biasa?
Session biasa menyimpan data dalam jangka waktu lebih lama, sedangkan Flash Session hanya bertahan satu request dan akan otomatis terhapus.
Kenapa Flash Session tidak muncul di view?
Biasanya disebabkan oleh perbedaan nama key antara controller dan view, atau middleware session yang belum aktif.
Apakah Flash Session aman digunakan?
Ya, selama digunakan sesuai kebutuhan dan tidak menyimpan data sensitif, Flash Session aman digunakan dalam aplikasi Laravel.
Penutup
Flash session di Laravel merupakan solusi praktis untuk menampilkan notifikasi yang interaktif dan informatif kepada pengguna aplikasi. Dengan menggunakan Flash session di Laravel, Anda dapat memberikan feedback secara langsung setelah suatu aksi dilakukan, tanpa perlu menyimpan data secara permanen di dalam session.
Agar implementasinya berjalan dengan optimal, pastikan penamaan key session di controller sesuai dengan pemanggilan di view, serta middleware session telah dikonfigurasi dengan benar. Dengan penerapan yang tepat, fitur ini dapat meningkatkan pengalaman pengguna sekaligus menjaga alur aplikasi tetap rapi dan efisien.


