Halo teman-teman semuanya, pada artikel sebelumnya, kita sudah belajar tentang include
dan require
untuk menyusun kode PHP secara modular.
Kali ini, kita akan masuk ke salah satu topik yang sangat penting dalam pengembangan web, yaitu bagaimana cara menangani data dari form menggunakan $_GET
dan $_POST
.
Dua variabel superglobal ini memungkinkan kita untuk mengambil data dari pengguna melalui form HTML dan memprosesnya di server dengan PHP.
Apa Itu $_GET
dan $_POST
?
$_GET
dan $_POST
adalah array asosiatif bawaan PHP yang berisi data yang dikirimkan dari form HTML.
$_GET
: digunakan saat form dikirim melalui method GET
. Data dikirim lewat URL.
$_POST
: digunakan saat form dikirim melalui method POST
. Data dikirim lewat body (tidak terlihat di URL).
Contoh Form dengan GET
<!-- file: form_get.html -->
<form action="proses_get.php" method="GET">
<label>Nama:</label>
<input type="text" name="nama">
<button type="submit">Kirim</button>
</form>
// file: proses_get.php
<?php
echo "Halo, " . $_GET['nama'];
?>
Penjelasan:
- Saat form dikirim, URL akan menjadi:
proses_get.php?nama=Ismail
$_GET['nama']
akan berisi Ismail
Contoh Form dengan POST
<!-- file: form_post.html -->
<form action="proses_post.php" method="POST">
<label>Email:</label>
<input type="email" name="email">
<button type="submit">Kirim</button>
</form>
// file: proses_post.php
<?php
echo "Email kamu: " . $_POST['email'];
?>
Penjelasan:
- Data dikirim lewat body, tidak terlihat di URL.
$_POST['email']
akan berisi data yang diketik pengguna di form.
Perbedaan GET
vs POST
Perbandingan |
GET |
POST |
Tampil di URL |
Ya |
Tidak |
Kapasitas Data |
Terbatas (sekitar 2000 karakter) |
Lebih besar |
Keamanan |
Kurang aman |
Lebih aman |
Cocok untuk |
Pencarian, filter |
Login, form pendaftaran |
Validasi Sederhana
Sebelum menggunakan data dari form, sebaiknya kita pastikan datanya ada menggunakan isset()
:
<?php
if (isset($_POST['email'])) {
echo "Email: " . $_POST['email'];
} else {
echo "Data belum dikirim.";
}
?>
Kesimpulan
$_GET
dan $_POST
adalah dua cara utama untuk menangani input dari pengguna di PHP. GET
cocok untuk permintaan yang tidak sensitif seperti pencarian, sedangkan POST
lebih aman untuk data penting seperti password dan informasi pribadi.
Di artikel selanjutnya, kita akan membahas bagaimana cara memvalidasi dan memfilter input form secara lebih aman menggunakan filter_var()
dan htmlspecialchars()
di PHP .
Terima Kasih