Mengenal Super Global di PHP : Fondasi Utama Pemrograman Web

Seputar PHP196 Views

PHP dikenal sebagai bahasa pemrograman server-side yang sangat fleksibel dan banyak digunakan dalam pengembangan web. Salah satu fitur inti yang membuat PHP begitu powerful adalah keberadaan super global variables. Variabel super global ini bisa diakses dari mana saja dalam skrip PHP tanpa perlu deklarasi global. Super global berperan besar dalam menangani input dari pengguna, menyimpan data sesi, membaca informasi server, hingga mengelola file yang diunggah.

Mari kita bahas satu per satu delapan super global utama di PHP yang wajib dipahami oleh setiap web developer.


🔹 Super Global $_GET di PHP

$_GET digunakan untuk mengambil data dari parameter URL. Data ini biasanya muncul setelah tanda tanya ? di URL. Misalnya:

https://example.com/index.php?nama=Chanelle&usia=25

Di PHP, kita bisa menangkap nilainya dengan:

$nama = $_GET['nama'];
$usia = $_GET['usia'];
echo "Nama: $nama, Usia: $usia";

$_GET banyak digunakan untuk navigasi halaman, pencarian data, dan filter. Namun, data yang dikirim melalui GET terlihat di URL sehingga kurang aman untuk informasi sensitif.


🔹 Super Global $_POST di PHP

Berbeda dengan $_GET, data dari $_POST dikirim lewat body request sehingga tidak tampil di URL. Inilah sebabnya POST lebih aman digunakan untuk form yang bersifat rahasia, seperti login atau pendaftaran.

Contoh form HTML sederhana:

<form method="POST" action="proses.php">
  <input type="text" name="username">
  <input type="password" name="password">
  <button type="submit">Login</button>
</form>

Di file proses.php, kita bisa menangkap data:

$username = $_POST['username'];
$password = $_POST['password'];

$_POST mampu menangani data dalam jumlah besar, sehingga sering dipakai untuk form panjang atau pengiriman file.


🔹 Super Global $_REQUEST di PHP

Jika $_GET dan $_POST fokus pada metode tertentu, $_REQUEST lebih fleksibel karena dapat menangkap data baik dari GET, POST, maupun COOKIE.

Contoh:

$nama = $_REQUEST['nama'];

Artinya, meskipun data dikirim lewat GET atau POST, tetap bisa diakses dengan $_REQUEST. Meski praktis, penggunaan $_REQUEST tidak selalu disarankan karena bisa membingungkan asal data sebenarnya.


🔹 Super Global $_SESSION di PHP

$_SESSION adalah super global yang menyimpan data sementara di server untuk setiap pengguna. Berbeda dengan $_COOKIE yang disimpan di browser, SESSION lebih aman karena datanya tidak terlihat langsung oleh user.

Contoh penggunaan:

session_start();
$_SESSION['username'] = "Chanelle";
echo $_SESSION['username'];

Dengan SESSION, kita bisa membangun sistem login, keranjang belanja, atau data yang tetap tersimpan meskipun user berpindah halaman. Namun, jika browser ditutup atau sesi berakhir, data SESSION akan hilang.


🔹 Super Global $_COOKIE di PHP

$_COOKIE menyimpan data di sisi client (browser). Cookie biasanya digunakan untuk melacak preferensi pengguna, misalnya tema website atau bahasa pilihan.

Contoh membuat cookie:

setcookie("bahasa", "Indonesia", time() + 3600);

Membaca cookie:

if(isset($_COOKIE['bahasa'])){
    echo "Bahasa dipilih: " . $_COOKIE['bahasa'];
}

Kekurangan cookie adalah keterbatasan ukuran (sekitar 4KB per cookie) dan rentan dimanipulasi pengguna, sehingga harus digunakan dengan hati-hati.


🔹 Super Global $_SERVER di PHP

$_SERVER memberikan informasi tentang server, header HTTP, path, dan detail eksekusi skrip. Ini sangat berguna untuk debugging maupun logging.

Beberapa contoh:

echo $_SERVER['PHP_SELF'];    // Nama file yang sedang dieksekusi
echo $_SERVER['SERVER_NAME']; // Nama host
echo $_SERVER['HTTP_USER_AGENT']; // Info browser
echo $_SERVER['REMOTE_ADDR']; // IP pengunjung

Dengan $_SERVER, kita bisa menyesuaikan aplikasi berdasarkan informasi perangkat pengguna atau menambahkan lapisan keamanan tambahan.


🔹 Super Global $_ENV di PHP

$_ENV digunakan untuk menyimpan environment variables, biasanya terkait konfigurasi server atau sistem operasi. Misalnya, menyimpan API key atau setting database.

Contoh:

echo $_ENV['PATH'];

Dalam pengembangan modern, environment variables sering dipakai untuk menjaga keamanan konfigurasi agar tidak langsung ditulis dalam kode program. Misalnya, menggunakan file .env yang di-load oleh framework seperti Laravel.


🔹 Super Global $_FILES di PHP

Mengunggah file tidak mungkin dilakukan hanya dengan GET atau POST. Untuk itu, PHP menyediakan $_FILES yang bisa menangani upload file dari form HTML.

Contoh form upload:

<form method="POST" enctype="multipart/form-data" action="upload.php">
  <input type="file" name="gambar">
  <button type="submit">Upload</button>
</form>

Di upload.php:

if(isset($_FILES['gambar'])){
    $namaFile = $_FILES['gambar']['name'];
    $tmpName = $_FILES['gambar']['tmp_name'];
    move_uploaded_file($tmpName, "uploads/".$namaFile);
    echo "Upload berhasil: " . $namaFile;
}

Dengan $_FILES, kita bisa membuat sistem upload gambar, dokumen, hingga video. Namun, keamanan sangat penting di sini: validasi tipe file dan ukuran file wajib dilakukan untuk mencegah serangan berbahaya.