Untuk menghubungkan data dari Form 1 ke Form 2 (atau halaman hasil) di Laravel, Anda bisa memanfaatkan Route, Controller, dan Blade View.
Berikut adalah panduan langkah demi langkah untuk membuat contoh kasus input nama dari Form 1 lalu menampilkannya menjadi "Nama saya ..." di form/halaman berikutnya.
1. Buat Route (routes/web.php)
Tambahkan dua route: satu untuk menampilkan Form 1, dan satu lagi untuk menerima data dan menampilkannya di Form 2.
2. Buat Controller (FormController.php)
Buat controller menggunakan Artisan CLI
php artisan make:controller FormController, lalu isi kodenya seperti ini:
3. Buat View Form 1 (resources/views/form1.blade.php)
Buat file Blade untuk form pertama yang berisi input text untuk nama.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Form 1</title> </head> <body> <h2>Form 1: Masukkan Nama</h2> <form action="{{ route('form2') }}" method="POST"> @csrf <label for="nama">Nama:</label> <input type="text" id="nama" name="nama" required> <button type="submit">Kirim</button> </form> </body> </html>
4. Buat View Form 2 / Hasil (resources/views/form2.blade.php)
Buat file Blade kedua untuk menangkap dan menampilkan data yang dikirimkan.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Form 2 / Hasil</title>
</head>
<body>
<h2>Form 2: Hasil Output</h2>
<!-- Menampilkan hasil input dari Form 1 -->
<p>Nama saya <strong>{{ $nama }}</strong></p>
<br>
<a href="{{ route('form1') }}">Kembali ke Form 1</a>
</body>
</html>
php artisan serve
Setelah Anda menyimpannya, silakan refresh kembali halaman browser Anda ([http://127.0.0.1:8000/form1](http://127.0.0.1:8000/form1))
Penjelasan Singkat:
form1.blade.phpmengirimkan data menggunakan metodePOSTke routeform2dengan menyertakan@csrf(keamanan wajib di Laravel).FormControllermenangkap data tersebut melalui parameterRequest $request, lalu meneruskannya menggunakan fungsiview('form2', compact('nama')).form2.blade.phpmencetak variabel$namamenggunakan sintaks Blade{{ $nama }}sehingga tampil sebagai "Nama saya [isi input]".
Penjelasan:
Secara sederhana, Route dalam Laravel (dan pengembangan web pada umumnya) berfungsi sebagai "pintu gerbang" atau "pengatur lalu lintas" yang menentukan ke mana pengguna harus diarahkan saat mereka mengakses alamat (URL) tertentu di browser.
Berikut adalah fungsi utama dari pembuatan route:
1. Menghubungkan URL dengan Logika (Controller / View)
Route bertugas mencocokkan URL yang diketik pengguna dengan fungsi atau file tampilan yang sesuai.
Contoh: Saat pengguna mengakses
[domain.com/form1](https://domain.com/form1), route memberi tahu Laravel untuk membuka file tampilanform1.
2. Mengatur Jenis Request (HTTP Method)
Route membedakan bagaimana data dikirimkan atau diminta, seperti:
GET: Digunakan untuk menampilkan halaman (misal: membuka form).POST: Digunakan untuk mengirim data baru ke server (misal: saat tombol submit ditekan).PUT/DELETE: Digunakan untuk memperbarui atau menghapus data.
3. Mempermudah Pengelolaan URL (Named Routes)
Dengan memberikan nama pada sebuah route (contoh: ->name('form1')), kita bisa memanggil URL tersebut di dalam file Blade cukup dengan kodenya saja ({{ route('form1') }}).
Keuntungan: Jika suatu saat alamat URL diubah dari
/form1menjadi/halaman-pendaftaran, Anda tidak perlu mengubah link di seluruh file project satu per satu.
4. Menjaga Keamanan (Middleware)
Route memungkinkan kita memasang pengaman (middleware). Kita bisa mengatur agar sebuah route hanya bisa diakses oleh pengguna yang sudah login (terotentikasi) atau memblokir akses yang tidak sah.
Analogi Sederhana: Bayangkan Route seperti resepsionis di sebuah gedung. Ketika seorang tamu (pengguna) datang menanyakan alamat ruangan tertentu (URL), resepsionis bertugas mengecek tujuannya dan mengarahkannya ke ruangan yang benar (Controller atau View).
Secara sederhana, Controller dalam Laravel berfungsi sebagai "otak" atau pusat pengolah logika dari sebuah aplikasi.
Jika Route bertugas sebagai pintu gerbang (menentukan URL), maka Controller adalah tempat Anda menuliskan instruksi apa yang harus dikerjakan oleh aplikasi ketika pintu tersebut dibuka.
Berikut adalah fungsi utama dari pembuatan Controller:
1. Memisahkan Logika Program (Separation of Concerns)
Tanpa Controller, semua kode pemrograman (seperti logika database, validasi, dan pengolahan data) harus ditulis langsung di dalam file routes/web.php. Hal ini akan membuat file route menjadi sangat panjang, berantakan, dan sulit dirawat. Dengan Controller, kode menjadi rapi karena dipisah ke dalam file khusus.
2. Memproses Data dari Pengguna (Request & Validation)
Controller bertugas menangkap data yang dikirimkan oleh pengguna melalui form (seperti input nama yang kita buat sebelumnya), lalu memprosesnya. Anda juga bisa melakukan validasi data di sini untuk memastikan input dari pengguna sudah benar dan aman sebelum diolah lebih lanjut.
3. Menghubungkan Database dengan Tampilan (Model & View)
Controller bertugas sebagai jembatan:
Mengambil data dari database (melalui Model).
Mengolah data tersebut jika diperlukan.
Mengirimkannya ke halaman tampilan (View) agar bisa dibaca oleh pengguna.
Analogi Sederhana di Restoran:
Route adalah Pelayan yang menerima pesanan Anda di meja (mengarahkan URL).
Controller adalah Koki di dapur yang mengolah bahan-bahan mentah menjadi makanan yang siap saji sesuai pesanan.
View adalah Piring/Makanan yang akhirnya disajikan kembali ke hadapan Anda.
Studi Kasus 2:
Web:







