Pada kesempatan ini saya akan menjelaskan menganai cara memproses form html dengan script php yang benar, kebanyakan temen temen programmer PHP yang masih newbie (pemula) belum mengetahuinya. Selain itu kebanyakan masih menggunakan cara lama (bisa dibilang salah), cara yang populer di versi PHP4 ke bawah. Dimana di versi PHP4 ke bawah register_global secara default disetting ON. Tentu saja, ketika register_global diset menjadi OFF, script php tersebut tidak akan bekerja.
Berikut adalah cara memproses html form menggunakan php yang benar, yang bekerja di semua versi php (dari 4.1.0 sampai version terkini 5.3.3).
HTML Form: Metode Pengiriman Data
HTML Form: Metode Pengiriman Data
Form HTML dibentuk menggunakan tag <form/>, tag <form/> memiliki attribute method yang digunakan untuk menentukan bagaimana cara form mengirim data ke server (data dikirim ke page/halaman yang ditentukan di dalam attribute action). Attribute method bisa diisi dengan 2 nilai, yaitu post dan get. Jika diisi dengan POST, maka data akan dikirim sebagai sebuah HTTP post transaction (nama dan nilai variable tidak terlihat dalam URL), namun jika diisi dengan GET, maka data akan dikirim sebagai variabel variabel URL (nama dan nilai variable terlihat dalam URL).
Contoh:
Form pertama akan mengirim data ke http://google.com menggunakan method get, dan form kedua akan mengirim data ke http://sandbox.paypal.com/cgi-bin/webscr dengan method post.
1 <form method="get"
action="http://google.com">
2 <input type="text"
name="q"/>
3 </form>
4 <form method="post"
action="http://sandbox.paypal.com/cgi-bin/webscr">
5 <input type="hidden"
name="amount"
value="10"/>
6 <input type="submit"
value="Pay Now"/>
7 </form>
Cara Memproses Form di PHP
Dalam memproses sebuah form, yang perlu diketahui adalah di PHP ada yang disebut dengan superglobals variables. Superglobals variables adalah variabel standar yang tersedia di seluruh ruang lingkup kode php bersangkutan. Superglobals variables yang berperan saat memproses form adalah $_POST, $_GET, dan $_FILES. Ketiga variabel ini akan diisi dengan data yang diterima/dikirim dari/oleh form html.
Di atas telah disebutkan bahwa sebuah form bisa menggunakan 2 metode pengiriman data. Jika menggunakan post, maka data yang diterima dari form ini akan disimpan ke dalam variable $_POST. Jika dikirim menggunakan metode get, maka data yang diterima akan disimpan ke dalam varibel $_GET. Sedangkan variabel $_FILES berfungsi untuk menyimpan informasi file file yang diupload (untuk mengupload file digunakan element form dengan type=”file”). Ketiga superglobals variables itu, akan berisi associative array.
Untuk lebih memperjelas akan diberikan contoh. Misalkan ada sebuah form dengan 4 elemen seperti di bawah:

pada saat form diisi data dan tombol submit ditekan, data akan dikirim ke server dan terjadi proses seperti gambar berikut:
pada saat form diisi data dan tombol submit ditekan, data akan dikirim ke server dan terjadi proses seperti gambar berikut:
Ilustrasi sederhana di atas menjelaskan bahwa pada saat tombol submit ditekan, data akan dikirim ke server dan diproses oleh php. PHP akan menyimpan data yang diterima (yang telah diproses) ke dalam variabel $_POST (karena data dikirim dengan method post). Selanjutnya, adalah “tugas programmer untuk memproses data yang diterima”, yang telah ditempatkan di variabel $_POST oleh PHP. Seperti terlihat di gambar, variabel $_POST akan berisi associative array berikut:
$_POST = array ( ’nama’ => ’John’, ’kelamin’ => ’L', ’status’ => ’M',’alamat’ => ’Jalan kutilang’);
$_POST = array ( ’nama’ => ’John’, ’kelamin’ => ’L', ’status’ => ’M',’alamat’ => ’Jalan kutilang’);
Pertanyaan yang muncul adalah, mengapa variabel $_POST terbentuk seperti itu? Gambar di bawah akan menjelaskannya.
Di variabel $_POST, bagian sebelah kiri tanda => disebut dengan ‘key’, bagian sebelah kanan disebut dengan ‘value’. ‘key’ akan bersesuaian dengan attribute ‘name’ dari masing masing element <form>, dan ‘value’ and berisi data yang dinput oleh user pada masing masing element <form> (agar lebih jelas lihat gambar).
Setelah mengetahui bagaimana PHP menerima data yang dikirim dari sebuah form, langkah selanjutnya adalah memproses data yang diterima tadi, yang ditempatkan di dalam variabel superglobal (dalam hal ini adalah $_POST). Misalkan data tadi hanya ditampilkan setelah user menekan tombol submit.
1 <?php
2 echo
"Nama: "
.
$_POST
[
'nama'
];
3 echo
"<br/>Jenis Kelamin: "
.
$_POST
[
'kelamin'
];
4 echo
"<br/>Status: "
.
$_POST
[
'status'
];
5 echo
'<br/>Alamat: '
.
$_POST
[
'alamat'
];
6 ?>
kode php di atas akan bekerja di semua versi php (dari 4.1.0 sampai versi terkini 5.3.3), baik register_global diseting on ataupun off. Kode php ini adalah bagian pemrosesan data yang dilakukan oleh programmer. Untuk form yang mengirim data menggunakan method get, prinsipnya sama hanya ganti $_POST dengan $_GET.
untuk pengelolaan halaman usernya seperti apa ya ?
BalasHapustrma ksh.
BalasHapussmga dpt brmnfaat tuk d pljrinya???????
tlong d prjlskn lg PHP ny?
BalasHapusmksh
trma ksh tutorialnya?
BalasHapusgambarnya bs gak d rapikan.
BalasHapusterima kasih