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.