Variabel Superglobal PHP dan Register_Globals
PHP memiliki jenis variabel khusus yang disebut superglobal. Alasan variabel-variabel ini istimewa adalah karena mereka secara otomatis tersedia untuk setiap program PHP tanpa programmer membuat atau mendefinisikan mereka dalam programnya. Anda dapat menganggap mereka sebagai variabel "bawaan".

Cara Anda akan mengakses variabel-variabel ini berbeda tergantung pada apakah register_globals dihidupkan atau dimatikan di server Anda. Sebelum PHP versi 4.2, register_globals diaktifkan secara default. Namun lakukan untuk alasan keamanan; pengaturan ini sekarang dimatikan secara default (versi 4.2+). Tentu saja terserah orang-orang yang menjalankan server Anda untuk memutuskan apakah akan menimpa pengaturan default dan mengaktifkan register_globals. Cara termudah untuk menguji server Anda sendiri adalah dengan menggunakan phpinfo (). Anda mungkin akan memiliki tautan ke halaman web ini di wilayah administrasi situs web Anda. Pada halaman web ini Anda akan menemukan bagian Konfigurasi PHP Core yang memiliki informasi ini.

Seperti yang disebutkan di atas, Anda akan mengakses superglobals berbeda tergantung pada pengaturan server Anda. Untuk pengaturan server baru, superglobals diberi nama baru. Jika server Anda masih memiliki pengaturan lama, akan lebih baik untuk mulai menggunakan nama-nama baru itu. Jika Anda menggunakan nama-nama baru ini, Anda dapat yakin bahwa program Anda akan bekerja di bawah kedua konfigurasi server. Namun, ini tidak berlaku untuk nama-nama lama. Mereka hanya akan berfungsi untuk konfigurasi server lama. Bagan di bawah ini menunjukkan nama lama dan baru dan deskripsi superglobals. Perhatikan bahwa nama-nama superglobals ini semuanya menggunakan huruf kapital.

BaruTuaDeskripsi
$ _ DAPATKAN $ HTTP_GET_VARS Superglobal ini berisi variabel yang dikirim ke program dengan metode get seperti string guery.
$ _POST $ HTTP_POST_VARS Superglobal ini berisi variabel yang dikirim ke program dengan metode posting.
$ _COOKIE $ HTTP_COOKIE_VARS Superglobal ini berisi variabel yang tersedia untuk program dari cookie.
$ _SESSION $ HTTP_SESSION_VARS Superglobal ini berisi variabel yang didaftarkan oleh program melalui sesi.
$ _FILES $ HTTP_POST_FILES Superglobal ini berisi variabel yang tersedia dari unggahan file.
$ _ENV $ _HTTP_ENV_VARS Superglobal ini berisi variabel yang tersedia dari lingkungan server.
$ _REQUEST -- Superglobal ini berisi variabel yang dikirim ke suatu program oleh semua jenis input pengguna. Ini adalah jenis superglobal yang paling umum atau universal.
$ _SERVER -- Superglobal ini berisi informasi tentang server seperti path file.