Bekerja
dengan Form
1.
Objek Form
Setelah kita belajar dasar-dasar perintah PHP,
sekarang saatnya mengaplikasikannya pada aplikasi Web. Biasanya PHP digunakan
sebagai pengolah data yang diinputkan melalui form yang dibuat dengan HTML.
Sebagai contoh, andaikan Anda memiliki toko Virtual dalam Web yang menjual
alat-alat tulis seperti pensil, buku tulis, dan ballpoint. Berikut ini adalah
salah satu bentuk kode HTML yang digunakan untuk membuat form pemesanan
pembelian barang-barang tersebut.
<html><body>
<h2>Toko
Alat Tulis Amalia</h2>
<form
acti0n="pr0ses.php" method="post">
<select
name="barangpesanan">
<option>Pensil</option>
<option>Buku
Tulis</Option>
<option>Ballpoint</Option>
</select>
Jumlah
pesanan: <input name="jumlah" type="text">
<input
type="submit" Value="Submit">
</form>
</body></html>
Seperti yang Anda lihat pada kode HMTL di atas,
perintah acti0n="pr0ses.php" digunakan untuk mengarahkan ke file PHP
yang digunakan untuk memproses barang pembelian ketika tombol submit ditekan.
Dalam form yang dihasilkan dari kode diatas terdapat 2 buah komponen input
yaitu berbentuk comboboX dan textbox. Untuk combobox, diberi nama
“barangpesanan” (perhatikan perintah <selectname="barangpesanan">)
dan textbox diberi nama “jumlah” (perhatikan perintah
<input name="jumlah"
type="text">).
Penjelasan mengenai method="post" akan dijelaskan
pada bab berikutnya. Sedangkan berikut ini adalah salah satu contoh kode PHP
untuk memproses input dari form di atas. Kode PHP ini disimpan dengan nama
proses.php.
<html><body>
<?php
$jumlah = $_POST['jumlah'];
$barangpesanan = $_POST['barangpesanan'];
echo "Anda memesan ".
$jumlah . " " . $barangpesanan
H .
echo "Terima kasih atas
kesediaan Anda memesan barang
dari kami!";
?>
</body></html>
Kalau Anda perhatikan, terdapat keterkaitan perintah
$_POST['XXX']; dengan "XXX" pada name = "XXX" (nama komponen
input).
2.
Method Get dan Post
Pada contoh sebelumnya, kita mengirim data input
dari form menuju ke file PHP untuk diproses menggunakan metode post. Selain
metode tersebut, terdapat pula metode get. Lantas perbedaannya apa? Kapan kita
gunakan metode post atau get?
Itulah
yang akan dibahas pada ini
Untuk melihat perbedaan post dan get, kita akan
sedikit mengubah file HTML form dan file PHP proses.php sebelumnya.
<html><body>
<h2>Toko
Alat Tulis Amalia</h2>
<form
acti0n="pr0ses.php" method="get">
<select
name="barangpesanan">
<option>Buku
Tulis</option>
<option>Ballpoint</option>
</select>
Jumlah
pesanan: <input name="jumlah" type="text">
<input
type="submit" Value="Submit">
</form>
</body></html>
Dan
isi moses phpnya adalah
<html><body>
<?php
$jumlah =
$_GET['jumlah'];
$barangpesanan
=
$_GET['barangpesanan'];
echo
"Anda memesan ". $jumlah
"
" . $barangpesanan
".<br>";
echo
"Terima kasih atas kesediaan Anda memesan barang dari kami!";
?>
</body></html>
Perbedaan kode HTML dan PHP di atas dengan
sebelumnya adalah yang dicetak merah. Metode pengiriman data input dari form
menggunakan get, dan dalam proses.php $_POST diganti dengan $_GET.
Apabila aplikasi di atas dijalankan, maka secara
sekilas hasil yang tampak sama dengan ketika digunakan metode post. Namun, coba
perhatikan URL yang tampak ketika proses.php muncul. Pada URL tersebut terdapat
tambahan ?barang pesanan=...&jumlah=... setelah nama file (proses.php).
Titik-titik tersebut akan diisi dengan data sesuai dengan yang diinputkan pada
form. Coba bandingkan dengan URL ketika digunakan metode post. Data isian pada
form tidak ditampilkan pada URL. Sehingga inilah perbedaan antara keduanya.
Dengan demikian, hendaknya kita jangan menggunakan
metode get ketika akan
memproses
data input melalui form. Bayangkan seandainya form tersebut digunakan
untuk
login atau untuk keperluan yang menyangkut priVasi. Apabila Anda gunakan metode
get, maka semua input data akan ditampilkan pada URL. Bisa-bisa password Anda
akan kelihatan di URL (jika terdapat input password ketika login). Untuk metode
get, biasanya digunakan untuk input data melalui link (bukan melalui form).
Untuk contoh aplikasinya dapat dilihat pada contoh-contoh aplikasi pada bab-bab
berikutnya.

Tidak ada komentar:
Posting Komentar