Variabel SERVER superglobal pada PHP
Topik ini tidak begitu penting, jika Anda buru-buru belajar PHP, materi ini boleh diskip. Variabel $_SERVER pada PHP menampung berbagai macam informasi yang dapat dimanfaatkan dalam pemrograman. Anda dapat menampilkan seluruh variabel $_SERVER dengan program seperti berikut:
<?php echo "<pre>".print_r($_SERVER,true)."</pre>"; ?>
Output:
Array
(
[HTTP_HOST] => localhost
[HTTP_CONNECTION] => keep-alive
[HTTP_UPGRADE_INSECURE_REQUESTS] => 1
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.101 Safari/537.36
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
[HTTP_REFERER] => http://localhost/
[HTTP_ACCEPT_ENCODING] => gzip, deflate, sdch
[HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.8,id;q=0.6
[HTTP_COOKIE] => PHPSESSID=nmhd802g0kr85ila6grbtituv2
[PATH] => C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WAMP\php-7.0.4;C:\ProgramData\ComposerSetup\bin;C:\WAMP\Apache24\bin;C:\Program Files\Java\jdk1.8.0_73;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\MinGW\bin;C:\msys\1.0\bin;C:\Program Files (x86)\CMake\bin;C:\Python34;C:\Program Files\pgsql\bin;C:\Program Files\Git\cmd;C:\Program Files\nodejs\;
[SystemRoot] => C:\WINDOWS
[COMSPEC] => C:\WINDOWS\system32\cmd.exe
[PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY
[WINDIR] => C:\WINDOWS
[SERVER_SIGNATURE] =>
[SERVER_SOFTWARE] => Apache/2.4.6 (Win64) OpenSSL/1.0.2g PHP/7.0.4
[SERVER_NAME] => localhost
[SERVER_ADDR] => ::1
[SERVER_PORT] => 80
[REMOTE_ADDR] => ::1
[DOCUMENT_ROOT] => C:/WAMP/htdocs
[REQUEST_SCHEME] => http
[CONTEXT_PREFIX] =>
[CONTEXT_DOCUMENT_ROOT] => C:/WAMP/htdocs
[SERVER_ADMIN] => setting@admin-di.apache
[SCRIPT_FILENAME] => C:/WAMP/htdocs/servervars.php
[REMOTE_PORT] => 64391
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] => /servervars.php
[SCRIPT_NAME] => /servervars.php
[PHP_SELF] => /servervars.php
[REQUEST_TIME_FLOAT] => 1473598127.092
[REQUEST_TIME] => 1473598127
)
Bila belum memahami kode di atas, dapat mempelajari penjelasan sebelumnya tentang array.
Beberapa variabel yang sering digunakan antara lain:
$_SERVER['HTTP_REFERER'], untuk mengetahui alamat halaman sebelumnya.$_SERVER['HTTP_USER_AGENT'], kadang-kadang dipakai untuk mengetahui jenis browser. Akan tetapi untuk tujuan ini, dapat mencoba menggunakan fungsiget_browser().$_SERVER['REMOTE_ADDR'], untuk mengetahui IP Address pengunjung web.$_SERVER['DOCUMENT_ROOT'], untuk mengetahui folder root website pada server. Sebaiknya tidak menampilkan informasi ini di web demi keamanan. Selain itu, mungkin dapat mempertimbangkan untuk menggunakan magic constant__DIR__.$_SERVER['REQUEST_URI'], alamat yang dituju user, yang tampil pada address bar browser.$_SERVER['SCRIPT_NAME'], script yang dituju oleh server. Selain ini, dapat juga menggunakan__FILE__meski agak berbeda.$_SERVER['PHP_SELF'], alamat http yang dituju. Kurang lebih sama dengan REQUEST_URI.
Cukup segini dulu tentang $_SERVER. Untuk lebih lengkapnya, dapat melihat dokumentasi php.net. Atau mencoba-coba sendiri.

