Saturday, October 4, 2014

Mengenal Variabel PHP Super Global

Beberapa variabel pada PHP ada yang disebut superglobal. Artinya variabel ini bisa diakses pada setiap lokasi pada file PHP. Variabel ini bisa diakses pada fungsi, class, maupun file tanpa melakukan sesuatu yang spesial dalam mendefinisikan variabel tersebut.

Beberapa variabel superglobal yang sering dipakai dalam dasar-dasar PHP diantaranya $_SERVER, $_REQUEST, $_POST, $_GET, $_SESSION, $_COOKIE dan $_FILE. Variabel-variabel tersebut memiliki fungsi tertentu yang spesifik. Untuk menggunakan variabel-variabel tersebut cukup dengan memanggil pada program tanpa harus mendefinisikan terlebih dahulu.

1. $_SERVER

Adalah variabel yang digunakan untuk mengambil data spesifik server seperti header, path dan lokasi script.

Contoh penggunaan variabel $_SERVER

<?php 
echo $_SERVER['PHP_SELF'];
echo "<br>";

echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];

echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo 
$_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo 
$_SERVER['SCRIPT_NAME'];
?> 

Beberapa elemen kode untuk variabel $_SERVER

Element/Code Output
$_SERVER['PHP_SELF'] Menghasilkan nama file dari script yang sedang dieksekusi
$_SERVER['GATEWAY_INTERFACE'] Menghasilkan versi dari Common Gateway Interface (CGI) yang dipakai server
$_SERVER['SERVER_ADDR'] Menghasilkan alamat IP dari host server
$_SERVER['SERVER_NAME'] Menghasilkan nama host server, misal: www.google.com
$_SERVER['SERVER_SOFTWARE'] Menghasilkan identifikasi software server, misal: Apache/2.2.24
$_SERVER['SERVER_PROTOCOL'] Menghsailkan nama dan revisi dari protokol informasi, misal: HTTP/1.1
$_SERVER['REQUEST_METHOD'] Menghasilkan metode yang dipakai untuk mengakses suatu halaman, misal: POST
$_SERVER['REQUEST_TIME'] Menghasilkan timestamp saat mulai meminta timestamp, misal: 1377687496
$_SERVER['QUERY_STRING'] Menghasilkan query string jika halaman diakses melalui query string
$_SERVER['HTTP_ACCEPT'] Menghasilkan header yang diperbolehkan
$_SERVER['HTTP_ACCEPT_CHARSET'] Menghasilkan karakter set, misal: utf-8,ISO-8859-1
$_SERVER['HTTP_HOST'] Menghasilkan Host header
$_SERVER['HTTP_REFERER'] Menghasilkan URL komplit dari halaman yang dibuka.
$_SERVER['HTTPS'] Mengecek apakah script berjalan diatas protokol HTTP secure
$_SERVER['REMOTE_ADDR'] Menghasilkan alamat IP dari tempat user client membuka halaman.
$_SERVER['REMOTE_HOST'] Menghasilkan nama Host dari tempat user client membuka halaman.
$_SERVER['REMOTE_PORT'] Menghasilkan port yang dipakai oleh mesin yang digunakan user dalam berkomunikasi dengan webserver.
$_SERVER['SCRIPT_FILENAME'] Menghasilkan pathname absolue dari script yangs edang dijalankan.
$_SERVER['SERVER_ADMIN'] Menghasilkan nilai yang diberikan kepada SERVER_ADMIN yang ada pada file konfigurasi web server, misal:  someone@www.some-web.com
$_SERVER['SERVER_PORT'] Menghasilkan port yang digunakan oleh web server pada mesin server, misal: 80.
$_SERVER['SERVER_SIGNATURE'] Menghasilkan versi server dan virtual hot name yang mana telah ditambahkan pada halaman yang telah digenerate oleh server.
$_SERVER['PATH_TRANSLATED'] Menghasilkan nama file system berdasarkan path dari script yang sedang dijalankan.
$_SERVER['SCRIPT_NAME'] Menghasilkan Path dari halaman yang dibuka.
$_SERVER['SCRIPT_URI'] Menghasilkan URI dari halaman yang dibuka.

2. $_REQUEST

Digunakan untuk mengumpulkan data setelah proses submit pada form HTML. Metode $_REQUEST lebih simple dibanding $_POST maupun $_GET namun beberapa informasi pada forum stackoverflow.com menyebutkan $_REQUEST kurang aman. Penggunaan $_REQUEST hanya disarankan untuk sekedar memvalidasi pengisian data pada form.

Contoh penggunaan $_REQUEST sekaligus $_SERVER

 <html>  
 <body>  
 <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">  
 Nama: <input type="text" name="nama-user">  
 <input type="submit">  
 </form>  
 <?php   
 $nama = $_REQUEST['nama-user'];   
 echo $nama;   
 ?>  
 </body>  
 </html>  

3. $_POST

Mirip dengan $_REQUEST namun variabel $_POST lebih sering digunakan dalam menangani form yang bersifat rahasia. Metode POST membuat nilai-nilai yang dikirimkan tidak diketahui oleh pengguna karena di-pos-kan melalui script. Jadi variabel $_POST digunakan mengambil data yang digenerate oleh form. $POST dan $_GET membuat array sedangkan $_REQUEST tidak.

Contoh penggunaan $_POST

 <html>  
 <body>  
 <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">  
 Nama: <input type="text" name="nama-user">  
 <input type="submit">  
 </form>  
 <?php   
 $nama = $_POST['nama-user'];   
 echo $nama;   
 ?>  
 </body>  
 </html>  

4. $_GET

Berbeda dengan $_POST, variabel $_GET dipakai untuk mengambil data yang dikirim melalui URL. Pengiriman dan pengambilan data menggunakan metode GET akan terlihat karena berada pada belakang URL, jadi tidak disarankan untuk informasi rahasia seperti password.

Contoh penggunaan $_GET

 <html>  
 <body>  
 <form method="get" action="action_get.php">  
 Nama: <input type="text" name="nama-user">  
 E-mail: <input type="text" name="email">
 <input type="submit">
 </form>  
 </body>  
 </html>  

Dan ini isi dari file action_get.php

 <html>  
 <body>  
 Selamat Datang <?php echo $_GET["nama-user"]; ?><br>  
 Alamat Email Anda: <?php echo $_GET["email"]; ?>  
 </body>  
 </html>  

5. $_SESSION

Adalah variabel yang digunakan untuk menyimpan parameter-parameter SESSION yang dibutuhkan oleh program.

Contoh penggunaan $_SESSION

 <?php  
 // Start the session  
 session_start(); // ini harus ditaruh sebelum tag <html>  
 ?>  
 <html>  
 <body>  
 <?php  
 // Set session variables  
 $_SESSION["warna"] = "hijau";  
 $_SESSION["hewan"] = "kucing";  
 echo "Variabel Session telah di set.";  
 ?>  
 </body>  
 </html>  

6. $_COOKIE

Adalah variabel yang dipakai untuk mengambil data dari Cookie yang tersimpan di komputer pengguna.

Contoh penggunaan $_COOKIE

 <html>  
 <body>  
 <?php  
 $cookie_name = "user";  
 if(!isset($_COOKIE[$cookie_name])) {  
   echo "Cookie named '" . $cookie_name . "' does not exist!";  
 } else {  
   echo "Cookie is named: " . $cookie_name . "<br>Value is: " . $_COOKIE[$cookie_name];  
 }  
 ?>  
 </body>  
 </html>  

7. $_FILE

Adalah variabel yang digunakan untuk mengambil beberapa informasi dari sebuah file yang diupload ke server. Informasi tersebut misalnya meliputi nama file, tipe dan ukuran suatu file.

Contoh penggunaan $_FILE

 <?php  
 if ($_FILES["file"]["error"] > 0) {  
  echo "Error: " . $_FILES["file"]["error"] . "<br>";  
 } else {  
  echo "Nama: " . $_FILES["file"]["name"] . "<br>";  
  echo "Tipe: " . $_FILES["file"]["type"] . "<br>";  
  echo "Ukuran: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";  
  echo "Folder: " . $_FILES["file"]["tmp_name"];  
 }  
 ?>  
Referensi :

1 komentar: