#05-Laravel-Pass Request Data

Di PHP, ada yang namanya GET dan POST untuk menerima atau menangkap data. Maka di Laravel juga sama.

Sama halnya dengan di php, 2 proses tersebut juga berlaku di laraval hanya saja penerimaan GET dilakukan melalui URI :

Menangkap Data Melalui URI

Buat route berikut pada route laravel (web.php).

Route::get('/user/param/{nama}', 'UserController@param');

Artinya kita membuat route baru bada controller User, jadi pada saat kita mengakses http://localhost/param/Budi, controller akan menangkap parameter Budi sebagai {nama}. Tambahkan function param pada file UserController.php

public function param($nama){
    return "Nama :".$nama;
}

Buka http://localhost:8000/user/param/Budi

Menangkap Data Dari Inputan

Menangkap data dari input form atau biasanya kita sebut post

Sekarang tambahkan baris berikut pada file routes/web.php

Route::match(array('GET','POST'),'user/formulir', 'UserController@formulir');

Route formulir akan menamplikan dan menerima POST data

Selanjutnya buat file resources/view/formulir.blade.php

<!DOCTYPE html>
<html>
<head>
	<title>{{$title}}</title>
</head>
<body>
	<form action="{{url()->current()}}" method="post">
		<input type = "hidden" name = "_token" value = "{{csrf_token()}}">
        <table>
            <tr>
                <td>Nama</td><td>: <input type="text" name="nama"></td>
            </tr>
            <tr>
                <td>Alamat</td><td>: <input type="text" name="alamat"></td>
            </tr>
            <tr>
                <td colspan=2><input name="btnSubmit" type="submit" value="Simpan"></td>
            </tr>
        </table>
	</form>
</body>
</html>

Tambahkan function formulir pada file UserController.php

public function formulir(Request $request){
        $data['title']="Formulir";
        return view('formulir',$data);
    }

Parameter Request $request berfungsi untuk menangkap passing data dari post method, tampilannya akan sbb:

buka halaman http://localhost/user/formulir pada browser

Untuk menangkap indikasi button Simpan, tambahkan beberapa baris code pada function formulir

public function formulir(Request $request){
        if($request->input('btnSubmit')){
            $nama = $request->input('nama');
            $alamat = $request->input('alamat');
            return "Nama : ".$nama.", Alamat : ".$alamat;
        }
        $data['title']="Formulir";
        return view('formulir',$data);
    }

Jika submit ditekan maka hanya akan menampilkan “Nama : “.$nama.”, Alamat : “.$alamat;

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>