Modul 5 - Request Data Pada Laravel
Modul 5 - Request Data Pada Laravel
Jika sebelumnya saat kita belajar PHP, ada yang namanya GET dan POST untuk menerima atau
menangkap data. Maka di Laravel juga sama.
Ada istilah yang di sebut dengan request pada Laravel, maksud nya juga sama, ada proses menerima
atau menangkap data dari inputan POST, dan ada juga jenis proses penangkapan dari URL.
Caranya tidak sulit, tinggal memahami penjelasan pada modul ini, dan alangkah lebih bagus lagi
langsung mengikuti dengan cara langsung mempraktekkan contoh kasus yang ada pada modul ini.
Akan kita bahas satu per satu. Kita mulai dengan cara menangkap data dari URI atau url.
Kita bisa menangkap data dari url dengan men-setting terlebih dulu pada bagian route laravel.
Baik sekarang silahkan buka route pada file web.php dalam project “belajar_laravel” yang sudah kita
buat sebelumnya.
Juhaya, ST. | Membangun WEB untuk mengelola Nilai Siswa menggunakan Framework Laravel dan Bootstrap Halaman : 1
Modul #5 : Request Data Pada Laravel
belajar_laravel/routes/web.php
Route::get('/nilai/{mapel}', 'App\Http\Controllers\NilaiController@index');
Jadi di sini kita membuat route baru, yaitu pada parameter pertama kita buat dengan “nilai”. dan
parameter kedua kita menangkap datanya dengan menuliskan syntax “{mapel}“, untuk penamaannya
bebas bisa menyesuaikan sendiri. Dan di route ini kita juga memerintahkan untuk menjalankan
controller NilaiController, dan method index.
Jadi pada saat kita mengakses localhost:8000/nilai/IPA, maka akan dijalankan method index pada
controller NilaiController.
Sekarang buka controller NilaiController, dan silahkan membuat controller baru dengan nama
NilaiController jika belum mempunyai controller ini, dan tulis syntax berikut.
Cara membuat controller pada laravel sudah dijelaskan pada modul sebelumnya.
belajar_laravel/app/Http/Controllers/NilaiController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
Perhatikan pada syntax di atas, di atas kita membuat method index dengan menangkap data yang dikirim
dari route tadi.
public function index($mapel){
return $mapel;
}
jadi untuk menangkap data dari route tadi ( {mapel} ), tinggal kita tangkap di method dengan
menuliskan variabel mapel dalam parameter method nya (index).
Kemudian kita bisa langsung mengolah data yang di tangkap tadi, di sini kita langsung me return data
variabel mapel.
Juhaya, ST. | Membangun WEB untuk mengelola Nilai Siswa menggunakan Framework Laravel dan Bootstrap Halaman : 2
Modul #5 : Request Data Pada Laravel
seperti pada contoh di atas, data yg kita kirimkan adalah “IPA”, maka pada controller kita mereturn
datanya langsung, jadi data langsung tampil seperti pada gambar di atas.
Intinya adalah apapun data yang dikirimkan melalui URL tadi adalah data yang ditangkap pada
controller, jadi apa yg diketikkan pada “IPA”, maka data itulah yang ditampilkan.
Karena pada route “formulirnilai/proses” ini kita akan menangkap data post dari form.
Kemudian tambahkan method formulir pada controller NilaiController.
belajar_laravel/app/Http/Controllers/NilaiController.php
public function formulir(){
return view('formulirnilai');
}
pada method formulir ini kita memanggil view formulirnilai, jadi sekarang kita buat sebuah view baru.
buat view baru dengan nama formulirnilai.blade.php
Juhaya, ST. | Membangun WEB untuk mengelola Nilai Siswa menggunakan Framework Laravel dan Bootstrap Halaman : 3
Modul #5 : Request Data Pada Laravel
belajar_laravel/resources/views/formulirnilai.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Modul #5 : Request Data Pada Laravel</title>
</head>
<body>
<form action="/formulirnilai/proses" method="post">
<input type = "hidden" name = "_token" value = "<?php echo csrf_token() ?>">
Nama Mapel:
<input type="text" name="namamapel"> <br/>
Nilai :
<input type="text" name="nilai"> <br/>
<input type="submit" value="Simpan">
</form>
</body>
</html>
Untuk csrf pada laravel akan kita bahas pada modul selanjutnya agar bisa lebih mudah memahami
materi laravel kita.
Pada form di atas kita membuat form inputan sederhana, yaitu form inputan namamapel dan nilai.
yang actionnya kita arahkan ke route “formulirnilai/proses”.
karena pada route “formulirnilai/proses” sudah kita set ke method “proses” pada controller
NilaiController, maka sekarang kita buat lagi sebuah method dalam controller NilaiController, yaitu
method proses() sebagai pemroses data yang dikirim dari form.
belajar_laravel/app/Http/Controllers/NilaiController.php
public function proses(Request $request){
$namamapel = $request->input('namamapel');
$nilai = $request->input('nilai');
return "Nama Mapel : ".$namamapel.", Nilai : ".$nilai;
}
Juhaya, ST. | Membangun WEB untuk mengelola Nilai Siswa menggunakan Framework Laravel dan Bootstrap Halaman : 4
Modul #5 : Request Data Pada Laravel
Untuk menangkap data yang dikirim dari form, kita bisa menangkap datanya dengan mendeklarasikan
“Request” pada parameter method proses. dan di lanjutkan dengan menuliskan nama variabel tempat
kita menyimpan data-data yang dikirim dari form ke dalam 1 buah variable, pada contoh di atas semua
data inputannya kita simpan dalam variabel $request.
Baru kemudian kita pecah data-data yang kita tangkap dengan menuliskan fungsi input().
Dalam fungsi input() nya kita tulis data apa yang ingin kita ambil (sesuai dengan nama form masing-
masing).
Setelah mengisi form Nama Mapel dan Nilai, kemudian klik Simpan.
sekarang kita telah berhasil menangkap data dari form (route formulirnilai) dan memproses nya dalam
route formulirnilai/proses.
Juhaya, ST. | Membangun WEB untuk mengelola Nilai Siswa menggunakan Framework Laravel dan Bootstrap Halaman : 5