Mengenal Metode Pengiriman Variabel di PHP

Variabel dalam konteks pemrograman merupakan suatu alokasi penyimpanan data (value) sementara di memori. Dalam PHP, variabel memiliki karakteristik khusus jika dibandingkan dengan pemrograman lainnya. Variabel di PHP tidak perlu dideklarasikan dan ditentukan tipe datanya sebelum digunakan. Variabel bisa langsung diisi dimana dibutuhkan. Tipe data variabel akan mengikuti sesuai dengan isi variabel tersebut. Penulisan nama variabel di PHP harus diawali dengan tanda $ dan mengikuti aturan penamanaan variabel (identifier) yang benar.

PHP merupakan pemrograman berbasis web. PHP banyak digunakan untuk membuat aplikasi berbasis web seperti website, dimana setiap aplikasi dapat terdiri dari beberapa halaman yang saling terhubung. Dan memang seperti itulah karakteristik dasar dari web, keterhubungan antara satu halaman dengan halaman yang lain. Kondisi tersebut membuat PHP perlu menyediakan suatu metode pengiriman variabel antar halaman, karena seringkali suatu variabel diperlukan di beberapa halaman sekaligus.

Tutorial ini berusaha mengupas mengenai 4 (empat) metode pengiriman variabel antar halaman di PHP. Keempat metode tersebut yaitu metode POST, GET, SESSION dan COOKIES. Beberapa contoh program sederhana terkait dengan keempat metode tersebut juga akan diberikan agar dapat memberi gambaran yang lebih jelas.

Metode POST

Metode pengiriman variabel dengan POST pada dasarnya digunakan dalam pengiriman variabel yang berasal dari sebuah form (inputan). Melalui atribut action yang terdapat dalam tag <form> kita dapat mengatur dimana data inputan akan diproses. Misalnya ditentukan bahwa form akan diproses di halaman “proses.php” maka seluruh data inputan dapat diambil dan diproses di halaman “proses.php” tersebut. Cara pengambilan data dapat menggunakan variabel array $_POST dengan index berupa nama inputan yang akan diambil.

Contoh berikut ini saya ambil dari buku gratis “Pemrograman Web dengan PHP dan MySQL” yang bisa didownload di situs Achmatim.Net.

Program 1 (Nama File : input02.php, Program menampilkan form inputan dengan method POST)

  1. <html>
  2. <head><title>Pengolahan Form</title></head>
  3. <body>
  4. <FORM ACTION="proses02.php" METHOD="POST" NAME="input">
  5. Nama Anda : <input type="text" name="nama"><br>
  6. <input type="submit" name="Input" value="Input">
  7. </FORM>
  8. </body>
  9. </html>

Program 2 (Nama File : proses02.php, Program penanganan form inputan untuk Program 1)

  1. <?php
  2. if (isset($_POST['Input'])) {
  3. $nama = $_POST['nama'];
  4. echo "Nama Anda : <b>$nama</b>";
  5. }
  6. ?>

Metode GET

Pada metode pengiriman variabel antar halaman menggunakan GET, data dapat dikirimkan melalui 2 (dua) cara yaitu melalui form inputan dan melalui parameter URL. Jika dikirimkan melalui form inputan, maka variabel yang akan dikirimkan diwujudkan dalam bentuk inputan (text, checkbox, radio, textarea dsb). Namun jika dikirimkan melalui parameter URL, maka variabel yang dikirimkan beserta value (nilai)nya diletakkan di alamat URL. Alamat URL sendiri dapat diwujudkan dalam bentuk link dan jika diklik maka URL akan ditampilkan di address bar browser. Parameter URL yang dikirimkan juga akan terlihat di address bar. Oleh karena itu, metode ini kurang cocok untuk pengiriman data yang sifatnya rahasia, seperti dalam proses login.

Program 3 (Nama File : input03.php, Program menampilkan form inputan dengan method GET)

  1. <html>
  2. <head><title>Pengolahan Form</title></head>
  3. <body>
  4. <FORM ACTION="proses03.php" METHOD="GET" NAME="input">
  5. Nama Anda : <input type="text" name="nama"><br>
  6. <input type="submit" name="Input" value="Input">
  7. </FORM>
  8. </body>
  9. </html>

Program 4 (Nama File : proses03.php, Program penanganan form inputan untuk Program 3)

  1. <?php
  2. if (isset($_GET['Input'])) {
  3. $nama = $_GET['nama'];
  4. echo "Nama Anda : <b>$nama</b>";
  5. }
  6. ?>

Penjelasan Program 3 dan 4

Program 3 dan program 4 pada prinsipnya sama dengan program 1 dan 2. Hasilnya pun sama. Akan tetapi, pada program 1 dan 2, penanganan form menggunakan method POST, sedang pada program 3 dan 4, penangan form dilakukan dengan method GET. Perhatikan bahwa pada metode penanganan form menggunakan GET, data inputan akan dikirimkan melalui parameter di URL. Terlihat pada gambar 4, nilai inputan ditampilkan di parameter URL.

Metode SESSION

Session merupakan hal yang cukup penting dalam aplikasi berbasis web. Dengan session memungkinkan programmer menyimpan informasi user secara semi-permanen, artinya selama masa tertentu informasi akan tersimpan. Penyimpanan isi variabel session berada di server, jadi relatif lebih aman karena tidak dapat dimanipulasi secara langsung oleh client.

Dalam aplikasi berbasis web, session banyak digunakan sebagai autentifikasi login. Dengan session memungkinkan programmer mengatur siapa saja yang bisa mengakses suatu halaman. Misalnya saja, untuk melihat halaman kotak surat pada email, kita harus login terlebih dahulu. Dalam proses login antara lain akan terjadi pembuatan suatu session yang akan dibawa oleh user di setiap halaman. Di halaman kotak surat, session tersebut akan diperiksa. Jika session benar maka user dipersilahkan membuka halaman kotak surat, namun jika salah maka user tidak bisa membuka halaman kotak surat dan biasanya akan diminta untuk login terlebih dahulu. Itulah sebabnya, user tidak bisa mengakses halaman kotak surat secara langsung tanpa melakukan login.

Selain untuk autentifikasi login, session juga dapat digunakan untuk mengirimkan suatu nilai (data) antar halaman. Caranya cukup mudah. Pada halaman pertama, ciptakan sebuah variabel session dan isikan dengan nilai yang akan dikirimkan. Selanjutnya pada halaman kedua, isi variabel session dapat diambil dengan predefined variable $_SESSION.

Berikut ini contoh sederhananya:

Program 5 (Nama File : session01.php, Program mengirimkan nilai variabel melalui session)

  1. <?php
  2. /****************************************************
  3. Nama file : session01.php
  4. Halaman ini merupakan halaman contoh penciptaan session.
  5. Perintah session_start() harus ditaruh di perintah pertama
  6. tanpa spasi di depannya. Perintah session_start() harus ada
  7. pada setiap halaman yang berhubungan dengan session
  8. *****************************************************/
  9.  
  10. $_SESSION['nama'] = "Achmad Solichin";
  11. echo "<a href='session02.php'>Menuju ke halaman kedua</a>";
  12. ?>

Program 6 (Nama File : session02.php, Program mengambil nilai yang disimpan di session)

  1. <?php
  2.  
  3. echo "Nama Anda adalah ".$_SESSION['nama'];
  4. echo "<br/><a href='session01.php'>Kembali ke hal pertama</a>";
  5. ?>

Metode COOKIES

Seperti halnya session, cookies juga merupakan sebuah konsep penyimpanan informasi user. Hanya saja, jika session tempat penyimpanan berada di server, cookies berada di client. Oleh karena itu, konsep cookies sebaiknya jangan digunakan untuk menyimpan informasi login user seperti username, password dsb. Selain user bisa melihat informasi yang disimpan, user juga bisa men-disable cookies itu sendiri. Jika cookies di-disable, maka program yang memanfaatkan cookies tentunya tidak akan berjalan dengan baik. Cookies, salah satunya biasa digunakan untuk menyimpan sementara produk-produk yang dipilih oleh pengunjung pada saat berbelanja di sebuah situs toko online.

Karena cookies dapat digunakan untuk menyimpan suatu nilai, maka cookies dapat digunakan untuk mengirimkan variabel antara halaman satu dengan yang lainnya. Nilai yang akan dikirimkan cukup disimpan di cookies, maka setiap halaman dapat mengaksesnya dengan menggunakan predefined variable $_COOKIE.

Contoh program pengiriman variabel dengan menggunakan COOKIES.

Program 7 (Nama File : cookie01.php, Program membuat cookie)

  1. <?php
  2. $value = 'achmatim';
  3. $value2 = 'Achmad Solichin';
  4.  
  5. setcookie("username", $value);
  6. setcookie("namalengkap", $value2, time()+3600); /* expire in 1 hour */
  7.  
  8. echo "<h1>Ini halaman pengesetan cookie</h1>";
  9.  
  10. echo "<h2>Klik <a href='cookie02.php'>di sini</a> untuk pemeriksaan cookies</h2>";
  11. ?>

Program 8 (Nama File : cookie02.php, Program pemeriksaan cookie)

  1. <?php
  2.  
  3. if(isset($_COOKIE['username'])) {
  4. echo "<h1>Cookie 'username' ada. Isinya : " . $_COOKIE['username'];
  5. } else {
  6. echo "<h1>Cookie 'username' TIDAK ada.</h1>";
  7. }
  8. if(isset($_COOKIE['namalengkap'])) {
  9. echo "<h1>Cookie 'namalengkap' ada. Isinya : " . $_COOKIE['namalengkap'];
  10. } else {
  11. echo "<h1>Cookie 'namalengkap' TIDAK ada.</h1>";
  12. }
  13. echo "<h2>Klik <a href='cookie01.php'>di sini</a> untuk penciptaan cookies</h2>";
  14. ?>

Dari keempat metode tersebut, mana yang sebaiknya kita gunakan? Jawabnya yang sesuai kebutuhan. Misalnya dilihat dari data yang akan dikirimkan, untuk data yang tidak terlalu “penting” maka cukup dengan menggunakan metode GET yang dikirimkan melalui parameter URL. Tapi pada kasus lain, jika datanya cukup “penting” dan cukup banyak, maka sebaiknya menggunakan metode POST.

Sebenarnya, disamping keempat metode tersebut di atas, kita dapat mengatur konfigurasi PHP di file php.ini agar setiap variabel yang diciptakan bersifat global. Artinya dapat diakses oleh setiap halaman yang ada. Caranya adalah dengan mengubah nilai “register_globals” menjadi “On”. Namun cara ini sangat tidak dianjurkan, karena alasan keamanan.

Semoga bermanfaat dan maju terus ilmu pengetahuan Indonesia!

Berbagi itu indah...Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0Pin on Pinterest0Digg this

12 comments

  1. terimakasih atas pencerahannya, sy terbiasa bikin aplikasi desktop, baru belajar bikin aplikasi WEB. salam kenal 🙂

  2. Thx bgt tutorialnya.. jadi ngerti skrg. Terbiasa pakai aplikasi tambahan (like Dreamweaver) jadi kurang ngerti background processnya. 🙂

  3. TERIMA KASIH BUANNYAK…………
    Masalah saya terpecahkan setelah membaca article Bapak
    skali lagi trimakasih atas pencerahannya.

Leave a Reply

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