Menangkap kiriman paket data POST dan GET pada CodeIgniter dengan model dan view

Pengiriman data dalam html kita kenal dengan dua method, yaitu method POST dan method GET. Pada CodeIgniter cara menangkap kiriman data ini sebenarnya sama saja dengan kita tidak menggunakan framework alis coding dengan PHP biasa, yang membedakan disini hanyalah syntax yang diterapkan dalam CodeIgniter.

 

Perbandingan cara menangkap kiriman data adalah sebagai berikut :

  • Menangkap kiriman data POST » $this->input->post('nama_variabel') sama dengan perintah $_POST['nama_variabel']
  • Menangkap kiriman data GET » $this->input->get('nama_variabel') sama dengan perintah $_GET['nama_variabel']

Pada CodeIgniter sendiri jika kita gunakan perintah $_GET atau $_POST juga tidak ada masalah dan aplikasi dapat berjalan dengan normal, cuman rasanya kurang Afdhol ya kalo ga ngikutin aturan ;)

Pada pembahasan kali ini, kita coba simulasikan contoh pengiriman data dengan method POST dengan urutan langkah - langkah seperti berikut :

1. Buat view register.php » Application/views/register.php

Script register.php bisa kita buat dengan menggunakan script html seperti terlihat pada contoh dibawah ini:

<style type="text/css">
table{
	font:normal 12px tahoma,verdana;
	background-color:#e1eff8;
}
table tr td{
	padding:0 5px 0 5px;
	border:#e2eef6 1px solid;
}
</style>
<form method="post" name="frm" action="">
<table width="500" cellpadding="0" cellspacing="0">
	<tr>
		<td height="25" colspan="2" bgcolor="#2082bc" style="font:bold 14px tahoma;color:#ffffff;">Form Pendaftaran</td>
	</tr>
	<tr>
		<td width="150" height="25">No Identitas</td>
		<td><input type="text" name="no_id" size="30"/></td>
	</tr>
	<tr>
		<td width="150" height="25">Nama Lengkap</td>
		<td><input type="text" name="nama" size="50"/></td>
	</tr>
	<tr>
		<td width="150" height="25">Alamat</td>
		<td><textarea name="alamat" cols="40" rows="5"></textarea></td>
	</tr>
	<tr>
		<td width="150" height="25">Email</td>
		<td><input type="text" name="email" size="30"/></td>
	</tr>
	<tr>
		<td width="150" height="25">Telepon</td>
		<td><input type="text" name="telepon" size="30"/></td>
	</tr>
	<tr>
		<td width="150" height="25"></td>
		<td>
		<input type="submit" name="btnKirim" value="Kirim"/>
		<input type="reset" name="btnReset" value="Reset"/>
		</td>
	</tr>
</table>	
</form>

2. Buat controller home.php » Application/controllers/home.php

Pada contoh kali ini, kita lakukan perubahan pada contoh controller seperti yang telah kita buat sebelumnya. Adapun controller yang kita buat seperti terlihat pada contoh dibawah ini:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Home extends CI_Controller {

	/**
	 * Index Page for this controller.
	 *
	 * Maps to the following URL
	 * 		http://example.com/index.php/home
	 *	- or -  
	 * 		http://example.com/index.php/home/index
	 *	- or -
	 * Since this controller is set as the default controller in 
	 * config/routes.php, it's displayed at http://example.com/
	 *
	 * So any other public methods not prefixed with an underscore will
	 * map to /index.php/home/<method_name>
	 * @see http://codeigniter.com/user_guide/general/urls.html
	 */
	public function index()
	{
		echo 'Selamat datang di CodeIgniter';
	}
	
	function register()
	{
		//cek apakah ada tombol btnKirim
		if($this->input->post('btnKirim')){
			$paket = $this->input->post();
			//kita bisa cetak ada variabel apa saja yang dikirimkan form
			echo '<pre>';
			print_r($paket);
			echo '</pre>';
			//kita urai masing-masing variabel post
			$no_id	= $this->input->post('no_id');
			$nama	= $this->input->post('nama');
			$alamat	= $this->input->post('alamat');
			//dan seterusnya 
		}
		$this->load->view('register');
	}
	
}

Setelah selesai dengan langkah - langkah diatas, cobalah untuk mengakses aplikasi kita pada alamat berikut :

http://localhost/folder_ci/index.php/home/register

Isilah tiap - tiap elemen form, kemudian tekan tombol Kirim, maka akan dicetak data seperti pada contoh berikut :

Array
(
    [no_id] => 123456789
    [nama] => Edi Suprayitno, ST
    [alamat] => Jl Bougenville No 1 Malang
    [email] => just_ide@yahoo.com
    [telepon] => 0856 3542 377
    [btnKirim] => Kirim
)

 

Dari contoh diatas, dapat kita lihat bahwasannya terdapat data post dengan nama variabel no_id, nama, alamat, email, telepon dan btnKirim yang diterima oleh controller home pada method register. Silahkan mencoba sendiri dengan menggunakan pengiriman data pada method GET, caranya sama saja dengan pembahasan diatas, bedanya hanya mengganti kata post dengan kata get pada perintah :

$this->input->post('nama_var');
$this->input->get('nama_var');

 

Selamat mencoba dan Salam kreatif

Tulis komentar

 




Today
Yesterday
All visitor

Pelatihan Website bersama Media Kreatif Indonesia

laboratorium Komputer dan teknology Kampus I ITN Malang 2013-07-09 08:00:00
 

Pelatihan Sistem Informasi

SMK Negeri 1 Lumajang 2013-05-01 12:00:00
 

Bakti sosial Teknik Kimia

Panti Asuhan Miftahul Huda II 2013-03-26 11:00:00
 

Bagaiamana metode pengajaran teknology yang paling efektif menurut anda ?

Beli buku, kemudian mempelajari sambil praktek
Mengikuti kursus sesuai bidang teknology
Belajar sendiri secara otodidak
Belajar dari contoh - contoh aplikasi yang sudah jadi
Belajar dari contoh - contoh yang paling sederhana
Semua pilihan benar