Mereka Ada di Mana-Mana, Tapi Sering Diabaikan: Yuk Kenalan dengan Superglobals PHP
Bayangin kamu lagi bikin form login. User isi username dan password, terus tekan tombol submit. Nah, pertanyaannya: gimana caranya PHP tahu data apa yang diketik user tadi?
Jawabannya ada di sebuah “keluarga besar” yang dikenal dengan nama Superglobals.
Mereka ini seperti agen rahasia PHP yang selalu siap membawa informasi penting: dari data form, cookie, session, bahkan info server dan browser yang digunakan.
Apa Itu Superglobals?
Superglobals adalah variabel bawaan PHP yang bisa diakses dari mana saja — dalam fungsi, file, atau scope manapun tanpa perlu deklarasi. Namanya juga “super”, kan? 😎
Mereka semua ditulis dalam huruf kapital dan diawali dengan simbol $ serta underscore ganda ($_).
1. $_GET – Menangkap Data dari URL
Ini dipakai untuk mengambil data dari parameter URL. Misalnya kamu punya URL seperti ini:
http://website.com/index.php?nama=Rudi
Kamu bisa tangkap datanya begini:
echo $_GET['nama']; // Output: Rudi
Biasanya dipakai di form yang menggunakan metode GET atau saat ngoper ID antar halaman.
2. $_POST – Menangkap Data dari Form yang Dikirim
Kalau kamu kirim data dari form pakai method="POST", maka PHP menangkapnya pakai $_POST.
<form method="post"> <input type="text" name="email"> <input type="submit"> </form> <?php echo $_POST['email']; ?>
Biasanya dipakai untuk proses login, register, kirim komentar, dll. Data lebih aman karena tidak tampil di URL.
3. $_REQUEST – Campuran GET + POST
Kalau kamu bingung mau pakai $_GET atau $_POST, $_REQUEST bisa menangkap keduanya. Tapi hati-hati, karena ini bisa bikin celah keamanan kalau gak difilter dulu.
4. $_SESSION – Menyimpan Data Antar Halaman
Pernah login ke sebuah situs dan tetap dianggap login saat pindah halaman? Itu karena PHP menyimpan data login kamu dalam session.
session_start(); $_SESSION['username'] = 'andi';
Lalu di halaman lain:
session_start(); echo $_SESSION['username']; // Output: andi
Session akan aktif selama browser belum ditutup atau sampai kamu session_destroy().
5. $_COOKIE – Teman Lama yang Suka Tinggal di Browser
Kalau session disimpan di server, cookie disimpan di browser user.
setcookie("user", "joni", time() + 3600); // berlaku 1 jam
6. $_SERVER – Info dari Server & Browser
Mau tahu IP user, nama browser, atau file apa yang sedang diakses?
echo $_SERVER['REMOTE_ADDR']; // IP user echo $_SERVER['HTTP_USER_AGENT']; // Browser info echo $_SERVER['PHP_SELF']; // Nama file saat ini
Penutup
Superglobals ini adalah kunci utama komunikasi antara user dan PHP. Mereka seperti kurir pribadi yang mengantarkan data dari form, URL, atau browser langsung ke skrip PHP-mu.
Dengan memahami mereka, kamu bisa:
- Bikin form input data
- Proses login & logout
- Simpan status user dengan session
- Akses data URL dinamis
- Menampilkan info server
Artikel berikutnya kita bakal bahas validasi form — supaya data dari superglobals ini bisa disaring dan diamankan sebelum diproses.

