Rumahweb Journal
Banner - Cara Membuat Session Di Laravel

Cara Membuat Session Di Laravel

Saat proses pengembangan aplikasi berbasis Laravel, kebutuhan untuk menyimpan data sementara antar halaman seperti status login, pesan notifikasi, atau data input pengguna hampir selalu kita temukan. Dengan memahami cara membuat session di Laravel, Anda dapat mengelola alur data antar request secara lebih terstruktur tanpa perlu membangun mekanisme penyimpanan secara manual.

Dalam panduan ini, kita akan membahas konsep dasar hingga contoh implementasinya agar lebih mudah dipahami dan langsung bisa dipraktikkan. Namun, sebelum melanjutkan ke pembahasan bagaimana membuat session di laravel, pastikan laravel sudah terinstall. Jika belum, Anda dapat membaca panduan lengkapnya di artikel berikut.

Apa Itu Session?

Session adalah mekanisme untuk menyimpan data sementara milik pengguna selama mereka berinteraksi dengan sebuah aplikasi atau website. Data ini bersifat sementara dan biasanya digunakan untuk mempertahankan informasi penting antar halaman, seperti status login, notifikasi (flash message), data input form, hingga isi keranjang belanja pada aplikasi e-commerce.

Secara teknis, session bekerja dengan menyimpan data di sisi server, kemudian menghubungkannya dengan pengguna melalui sebuah session ID yang disimpan di browser (biasanya dalam bentuk cookie). Setiap kali pengguna melakukan request ke server, session ID tersebut akan dikirimkan kembali sehingga server dapat mengenali dan memuat data yang sesuai.

Selama session masih aktif dan belum kedaluwarsa atau expired, informasi tersebut tetap dapat digunakan pada halaman atau request berikutnya tanpa perlu diinput ulang. Dengan adanya session, aplikasi dapat memberikan pengalaman yang lebih personal, konsisten, dan aman bagi setiap pengguna.

Memahami Konfigurasi Session Pada Laravel

Secara default, Laravel sudah mengaktifkan session tanpa perlu konfigurasi tambahan. Namun, penting untuk memahami bagaimana session dikonfigurasi.

Promo Hosting Murah Rumahweb

config/session.php

Di dalam file tersebut terdapat pengaturan utama yaitu driver. Secara default, Laravel menggunakan driver file, yang berarti data session disimpan dalam bentuk file di folder:

storage/framework/sessions

Pada file .env, biasanya terdapat konfigurasi berikut:

SESSION_DRIVER=file
SESSION_LIFETIME=120

Artinya, session akan aktif selama 120 menit sebelum kedaluwarsa. Jika ingin menggunakan database sebagai penyimpanan session, jalankan:

php artisan session:table
php artisan migrate

Kemudian ubah file .env menjadi:

SESSION_DRIVER=database

Membuat Session di Laravel

Setelah konfigurasi session siap, langkah selanjutnya kita akan membuat controller di laravel. Berikut adalah cara untuk membuatnya:

php artisan make:controller SessionController

Kemudian, setelah membuat controller session anda dapat untuk membuka file controller tersebut dan sesuaikan kode berikut:

    // 1. Membuat Session
    public function buat(Request $request)
    {
        $request->session()->put('nama', 'Ari');
        return "Session berhasil dibuat";
    }

    // 2. Mengambil Session
    public function ambil()
    {
        $nama = session('nama', 'Belum ada session');
        return "Isi session: " . $nama;
    }

    // 3. Mengecek Session
    public function cek()
    {
        if (session()->has('nama')) {
            return "Session tersedia";
        } else {
            return "Session tidak tersedia";
        }
    }

    // 4. Menghapus Satu Session
    public function hapus()
    {
        session()->forget('nama');
        return "Session dihapus";
    }

    // 5. Menghapus Semua Session
    public function hapusSemua()
    {
        session()->flush();
        return "Semua session dihapus";
    }

    // 6. Flash Session
    public function flash()
    {
        return redirect('/tampil-flash')->with('success', 'Flash session berhasil dibuat');
    }

    public function tampilFlash()
    {
        return view('flash');
    }

Method put() yang ada di baris membuat session digunakan untuk menyimpan data ke dalam session. Dalam contoh ini, kita menyimpan data dengan key nama dan value Ari.

Setelah session dibuat, kita bisa mengambilnya kembali di halaman atau method lain, seperti di baris mengambil session.

Terkadang, kita perlu memastikan apakah session tertentu sudah ada atau belum. Untuk itu, kita bisa menggunakan method has() dengan pemeriksaan menggunakan logic if else, pada baris mengecek session.

Jika data session sudah tidak dibutuhkan, kita bisa menghapusnya. Dengan Method flush() biasanya digunakan saat proses logout.

Menggunakan Flash Session (Session Sementara) yang ada para baris flash session. Flash session adalah session yang hanya bertahan untuk satu request berikutnya. Biasanya digunakan untuk notifikasi setelah proses redirect.

Menambahkan Route pada file routes/web.php

Routes di Laravel berfungsi sebagai pusat pengatur lalu lintas permintaan (request) URL, menghubungkan alamat yang diakses pengguna di browser ke controller, view, atau fungsi logika tertentu.

use App\Http\Controllers\SessionController;

Route::get('/buat-session', [SessionController::class, 'buat']);
Route::get('/ambil-session', [SessionController::class, 'ambil']);
Route::get('/cek-session', [SessionController::class, 'cek']);
Route::get('/hapus-session', [SessionController::class, 'hapus']);
Route::get('/hapus-semua-session', [SessionController::class, 'hapusSemua']);
Route::get('/flash-session', [SessionController::class, 'flash']);
Route::get('/tampil-flash', [SessionController::class, 'tampilFlash']);

Membuat Tampilan view

Buat file baru pada resources/views dengan nama file flash.blade.php atau bisa disesuaikan dengan keinginan

<!DOCTYPE html>
<html>
<head>
    <title>Flash Session</title>
</head>
<body>

@if(session('success'))
    <h3>{{ session('success') }}</h3>
@endif

<a href="/flash-session">Buat Flash Lagi</a>

</body>
</html>

Pengujian

Setelah semua konfigurasi untuk membuat session selesai, langkah berikutnya adalah melakukan pengujian. Anda dapat menjalankan aplikasi dengan perintah php artisan serve.

Pada tahap pengujian ini, session akan disimpan dalam bentuk file. Anda dapat melihat hasil penyimpanannya di folder storage/framework/sessions. Pastikan folder tersebut terisi file baru setelah Anda melakukan aktivitas yang menggunakan session, seperti login atau menyimpan data sementara.

Pada gambar dibawah ini kita mencoba testing untuk buat session dengan akses http://127.0.0.1:8000/buat-session

Membuat Session Di Laravel

Pada gambar di bawah ini, kita coba lakukan testing untuk mengambil session dengan mengakses http://127.0.0.1:8000/ambil-session

Ambil session

Selanjutnya, pada gambar di bawah ini, kita akan mencoba testing untuk cek session dengan akses http://127.0.0.1:8000/cek-session

Cek session

Lalu, pada gambar di bawah ini, kita cek apakah session benar-benar tersimpan atau tidak pada folder storage/framework/session. Jika hasilnya seperti gambar di bawah ini, maka session yang kita buat sudah berhasil.

Cek file session

Selanjutnya, kita akan mencoba testing untuk menghapus session dengan akses http://127.0.0.1:8000/hapus-session

Hapus session

Untuk memastikan session terhapus, kita bisa membuka file session yang ada di storage seperti berikut:

Cek file session

Dari gambar di atas, kita bisa disimpulkan bahwa data session yang sudah dibuat tidak ada di Laravel, hanya menyisakan data sistem, perintah forget() atau flush() sudah bekerja dengan benar.

Langkah terakhir, kita dapat membuktikan dengan mengakses halaman http://127.0.0.1:8000/ambil-session. Jika halaman menampilkan Isi session “Belum ada session”, maka semua session yang kita buat sudah berjalan dengan baik.

Kesimpulan

Membuat session di Laravel pada dasarnya sangat mudah karena fitur ini sudah terintegrasi langsung di dalam framework. Anda hanya perlu memastikan konfigurasi session aktif, kemudian menyimpan data melalui controller, mengambilnya saat dibutuhkan, dan menghapusnya ketika sudah tidak digunakan.

Dengan memahami alur tersebut secara menyeluruh, Anda dapat membangun berbagai fitur penting seperti sistem login, notifikasi (flash message), hingga penyimpanan data sementara dengan lebih terstruktur dan aman. Pengelolaan session yang tepat juga membantu aplikasi berjalan lebih konsisten serta memberikan pengalaman pengguna yang lebih baik.

Itu tadi artikel kami tentang cara membuat session di Laravel hingga pengujiannya, semoga bermanfaat.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 0 / 5. Vote count: 0

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Arief Hidayatullah

Arief Hidayatullah adalah seorang Technical Support di Rumahweb Indonesia yang memiliki minat dan keahlian dalam pengembangan web. Dengan pengalaman dan pengetahuannya di bidang teknologi, Arief memiliki ketertarikan khusus dalam pengembangan web menggunakan Laravel, sebuah framework PHP yang populer. Dengan semangat belajar dan eksplorasi teknologi, Arief terus mengembangkan keterampilannya untuk menciptakan solusi web yang efisien dan inovatif.

banner pop up - Pindah Hosting ke Rumahweb