Variable $_GET dan $_POST pada PHP- Pengonaq Media
Pengonaq Media - Untuk yang baru belajar bahasa pemrograman PHP wajib memahami tentang variable $_GET dan $_POST ini. Variable $_GET dan $_POST merupakan salah satu bagian dari variable global dalam PHP yang dapat di panggil dari mana saja pada script PHP. Type variable ini adalah Array. Keduanya berfungsi sebagai variable untuk mengambil data yang dikirim oleh HTML Form dari sisi klien (browser) dengan metode get dan post. Variable ini kalo boleh saya bilang adalah yang paling sering digunakan dalam pembuatan website dengan PHP. Kenapa? karena dengan variable inilah kita mendapatkan atau mengetahui permintaan dari pengguna. Namun, nilai dan nama variable tersebut kita sendiri yang menjadi programmer yang menentukannya.

Berikut ini akan saya berikan beberapa contoh penggunaan dari kedua variable tersebut dengan form HTML untuk mengambil data dari user. Namun sebelum saya memberikan contoh tersebut saya ingin memberikan sedikit penjelasan tentang masing-masing kedua variable tersebut.

Variable $_GET

variable $_GET biasanya digunakan ketika suatu halaman ditujukan untuk pengguna yang ingin mengambil atau menampilkan data dengan teknik get. Teknik get ini mengambil data melalui query string pada alamat URL. contoh: http://localhost/index.php?halaman=berita&id_berita=2 . Yang mana yang menjadi nilai variable $_GET adalah halaman dan id_berita. Dalam script php berikut ini adalah cara mengambil data tersebut.

<?php
$halaman = $_GET['halaman']; // nilainya adalah berita
$id_berita = $_GET['id_berita']; // nilainya adalah 2

?>

atau contoh lain dalam kasus pencarian data seperti : http://localhost/index.php?halaman=pencarian&kata_kunci=teknologi . dimana yang menjadi variable $_GET adalah halaman dan kata_kunci . Untuk mengambil data tersebut dalam script php dengan cara berikut ini:

<?php
$halaman = $_GET['halaman']; // nilainya adalah pencarian
$keyword = $_GET['kata_kunci']; // nilainya adalah teknologi
echo 'Anda sedang mencari berita dengan kata kunci : '. $keyword;
?>

Contoh kasus jika sobat pernah mencari sesuatu di Google dengan kata kunci tertentu, maka kata kunci tersebut akan terlihat pada kotak URL pada browser kita. Misalnya: www.google.co.id/search?q=kata+kunci+yang+kita+cari . Nah, dari url tersebut bisa disimpulkan bahwa (q) adalah variable $_GET yang kita kirim ke google sebagai kata kunci pencarian agar kita menemukan hasil yang kita cari.

Untuk versi PHP mulai dari versi 4 ke atas, pengambilan data menggunakan teknik di atas akan menampilkan pesan trigger error apabila salah satu variable tersebut tidak tersedia atau user menginputkannya secara manual pada alamat URL kemudian variablenya tidak lengkap.
misalkan user menginputkan data variable $_GET secara manual di URL dengan contoh di atas namun data tidak lengkap atau data berbeda maka akan terjadi error seperti gambar di bawah ini.

PHP Error undefined index :
itu disebabkan karena user tidak menginputkan variable $_GET kata_kunci pada URL. Maka pesan error di atas akan muncul. Nah, untu kmengatasi pesan kesalahan di atas, ada beberapa cara yang bisa kita gunakan agar pesan tersebut tidak muncul. Yaitu kita bisa menggunakan fungsi isset pada PHP.

<?php
// jika variable $_GET['halaman'] tidak tersedia maka 
// nilai defaultnya kita set menjadi index
$halaman = isset($_GET['halaman']) ? $_GET['halaman'] : 'index';
// jika variable $_GET['kata_kunci'] tidak tersedia maka 
// nilai defaultnya kita set menjadi ''
$keyword = isset($_GET['kata_kunci'] ? $_GET['kata_kunci'] : '';

if(!empty($keyword)){
    echo 'Anda sedang mencari berita dengan kata kunci : '. $keyword;
}else{
    echo 'Kata kunci tidak tersedia..';
}
?>

Keamanan Data

Dari segi keamanan data, variable $_GET kurang aman dari teknik injeksi seperti XSS dan SQL Injection. Untuk itu kita memerlukan beberapa teknik untuk mengamankannya. Namun teknik tersebut akan kita bahas pada posting yang selanjutnya.

Variable $_POST

untuk variable yang satu ini. Biasanya digunakan ketika pengguna mengirimkan data. Teknik ini disebut dengan metode post melalui form. Contoh kasus seperti proses login user dan register. Jadi, ketika pengguna melakukan pendaftaran pada suatu website maka proses tersebut adalah proses pengiriman data pengguna ke website tersebut.

Berbeda dengan variable $_GET, variable $_POST ini tidak kasat mata atau tidak tampil pada bagian URL seperti halnya dengan variable $_GET. Pengiriman data dengan metode post ini dilakukan melalui belakang (background). Sehigga pengguna secara tidak langsung tidak mengetahui variable apa saja yang terkirim ketika form dikirim (submit).

Selain memiliki perbedaan dengan variable $_GET, variable $_POST ini juga memiliki ksemaan dengan variable $_GET. Diantaranya adalah teknik pemanggilan, pengambilan data, kemanan data, dan sama-sama berbentuk data Array. Variable ini juga bisa menampilkan pesan kesalahan (error) ketika variable tidak tersedia pada saat pengambilan data. Yaitu pesan undefined index (lihat gambar pada bagian variable $_GET )

Berikut ini adalah contoh penggunaan variable $_POST pada script php dengan contoh kasus pendaftaran:

<?php
// mengambil data nama_lengkap dari pengguna
$nama = $_POST['nama_lengkap']; 
// mengambil data jenis kelamin
$jenis_kelamin = $_POST['jenis_kelamin'];
// mengambil data nomor telpon / hp
$hp = $_POST['no_hp'];
// mengambil data tanggal lahir
$tgl_lahir = $_POST['tgl_lahir'];

?>

Sudah Paham kan?

Apakah sobat sudah paham apa itu variable $_GET dan $_POST. Tentu paham lah ya? mudah kok. Jika belum paham, silahkan sobat coba baca ulang atau bisa mencari referensi lain di google. Banyak kok. Jika sudah paham teorinya mari kita berlanjut ke bagian praktiknya.


TAHAP PRAKTIK

Pada tahap praktik ini kita akan membahas kedua variable dan metode di atas. Untuk metode GET kita akan menggunakan kasus pencarian.

Mengambil Data dari Form dengan metode GET.

Berikut ini kita akan membahas tentang penggunaan metode GET pada form dan variable $_GET pada PHP. Contoh kasus yang akan kita buat adalah pencarian sederhana tanpa menggunakan database alias semi dinamis. Oke, langsung aja menuju proses praktik. 

Catatan: saya asumsikan sobat sudah cukup paham dengan sintak HTML dan web server.

Pertama

Pertama-tama kita buat dulu folder pada folder htdocs dengan nama latihan_get. Sobat bisa menentukan sendiri nama folder yang diinginkan. Namun, supaya lebih cepat dipahami saya sarankan untuk mengikuti intruksi dari saya. 

Kedua

Selanjutnya kita buat file sebagai halaman formnya dengan nama index.html. File ini berfungsi sebagai tampilan awal. Oke, setelah dibuat silahkan masukkan kode di bawah ini:

<!DOCTYPE html>
<html>
<head>
<title>Pencarian Produk</title>
<style type="text/css">
body{
 margin:0;
 padding:0;
 background-color:#f1f2f3;
}
.container{
 width:70%;
 margin:30px auto;
}
.input-search{
 width:50%;
 padding:10px;
 background-color:#fff;
}
.btn-search{
 padding:10px;
 background-color:#1ABC9C;
 border:1px solid #aaa;
 color:#fff;
 font-weight:bold;
}
</style>
</head>
<body>
 <div class="container">
  <form name="form-pencarian" method="get" action="pencarian.php">
   <p><input type="text" class="input-search" name="kata_kunci" placeholder="Masukkan kata kunci" autofocus> 
   <button type="submit" class="btn-search">Cari</button></p>
  </form>
 </div>
</body>
</html>

Ketiga

Proses yang ketiga adalah membuat file php untuk mengambil data yang dikirim tersebut. Buatlah file dengan nama pencarian.php pada folder yang sama dengan file yang sebelumnya. Kemudian masukkan kode berikut:
<?php
$kata_kunci = isset($_GET['kata_kunci']) ? $_GET['kata_kunci'] : '';
if(!empty($kata_kunci)){
 echo 'Anda mencari :'.  $kata_kunci;
}else{
 echo 'Anda belum memasukkan kata kunci..';
}
?>

Keempat (Terakhir)

Setelah itu silahkan jalankan. Saya jalankan melalui http://localhost/latihan_get/

Sekian dulu tutorial kali ini, semoga tutorial yang sederhana ini bisa menjadi referensi untuk menambah wawasan sobat programmer newbie sekalian. 

Terima Kasih sudah membaca Variable $_GET dan $_POST pada PHP. Semoga Bermanfaat!