Kamis, 07 Oktober 2021

Superglobal (Variabel Predefined)

Pendahuluan

Superglobal adalah variabel yang sangat spesial. Superglobal dapat diakses pada fungsi, class atau file manapun. $_SERVER, $GLOBALS, $_REQUEST, $_POST, $_GET, $_FILES, $_ENV, $_COOKIE, $_SESSION merupakan daftar Variabel Predefined atau Superglobal.

$_SERVER

$_SERVER mencakup informasi tentang header,path dan lokasi skrip(file). $_SERVER ini tercipta oleh web server.

Kode/ScriptDeskripsi
$_SERVER["HTTP_HOST"]Mengembalikan Header Host dalam request
$_SERVER["PHP_SELF"]Mengembalikan namafile dan skrip eksekusi
$_SERVER["REMOTE_ADDR"]Mengembalikan ipadress dari dimana tempat pengguna melihat halaman
$_SERVER["REMOTE_HOST"]Mengembalikan nama host dari pengguna yang sedang melihat halaman website
$_SERVER["REMOTE_NAME"]Mengembalikan nama host server
$_SERVER["REMOTE_PORT"]Mengembalikan nomer port yang digunakan pengguna sengan mesin yang digunakan untuk berinteraksi dengan website
$_SERVER["SCRIPT_FILENAME"]Mengembalikan nama path yang sebenarnya yang sedang mengeksekusi skrip
$_SERVER["SCRIPT_NAME"]Mengembalikan path itu sendiri
$_SERVER["SCRIPT_URI"]mengembalikan halaman URI
$_SERVER["SERVER_PORT"]Mengembalikan port dari mesin server yang digunakan untuk web server untuk berkomunikasi(seperti port 80)
$_SERVER["SERVER_NAME"]Mengembalikan nama host server

$_POST dan $_GET

Untuk mengirim masukan dalam website kita menggunakan dua metode yakni POST dan GET. Masukan yang menggunakan metode POST tidak terlihat oleh orang lain dari semua nama maupun nilainya karena terbungkus oleh body dari pesan HTTP. Dan POST tidak memiliki batas banyak jumlah data dan huruf yang dikirimkan. Sebaliknya pengiriman data menggunakan metode GET sama sekali tidak aman karena semua orang bisa melihatnya dalam bentuk URL dan juga memiliki kekurangan yakni tidak boleh melebihi dari 2000 huruf/karakter dalam sekali pengiriman masukan. Tetapi ini berguna untuk memberi halaman sebuah bookmark karena bisa terlihat dalam url. Metode GET sendiri sangat tidak disarankan bila digunakan untuk pengiriman masukan dengan data yang sensitif seperti password dan lainya.

Sebagai contoh dalam penggunaan HTML yakni.

Buatlah sebuah file yang bernama form.php yang berisi kode berikut ini:


<form action="kirim.php" method="POST">

  <p>Nama: <input type="text" name="nama" /></p>

  <p>Umur: <input type="text" name="umur" /></p>

  <p><input type="submit" name="submit" value="Submit" /></p>

</form>

form post php

Lalu buatlah sebuah file bernama kirim.php yang berisi kode ini


Welcome <?php echo $_POST["nama"]; ?><br />

Umur kamu : <?php echo $_POST["umur"]; ?>

form get php

Jalankanlah pada browser kamu form.php dan masukan nama serta umur lalu klik tombol submit maka nama dan data kamu akan terkirim ke file kirim.php dengan metode POST. Bagaimana bila kamu ingin menggunakan metode GET? Gampang sekali. Kamu tinggal mengganti kata POST pada file form.php dan kirim.php dengan GET, kemudian jalankan ulang file form.php dan masukan kembali nama dan umur kamu lalu submit maka kamu akan melihat URL pada kirim.php berbeda dengan ketika menggunakan metode POST.

$_SESSION

Session digunakan untuk menyimpan informasi yang bisa digunakan untuk halamna lainya. Dengan menggunakan $_SESSION kamu bisa mengatur variabel yang kamu inginkan. Seperti username dan id. Tetapi sebelum menggunakan session kamu harus memulai session dengan kode session_start().

$_SESSION["usename"] = "yusuf";

$_SESSION["id"] = "1";

//mencetaknya

echo "nama pengguna ". $_SESSION["usename"]. " dengan id " .$_SESSION["id"];


session_unset();

echo "<br />setelah unset()<br />";

echo "nama pengguna ". $_SESSION["usename"]. " dengan id " .$_SESSION["id"];

session php

Menghapus semua global session manual yakno dengan session_unset() dan menghilangkan atau menagkhiri session bisa dengan session_destroy() yang biasanya digunakan pada halaman logout suatu akun.

Untuk mengidentifikasi user dengan menggunakan cookies. Dengan menggunakan PHP kita bisa membuat dan melihat semua isi cookies. Membuat cookies dengan kode

setcookie(name, value, expire, path, domain, secure, httponly);

Dengan catatan setcookie digunakan sebelum tag HTML. Juga jangan pernah sekalipun mengguakan cookies untuk menyimpan data atau informasi yang sensitif.

Contoh dalam penggunaanya dalam file cookie.php yang isinya yakni:

<?php

$value = "Yusuf";

setcookie("user", $value, time() + (60), '/');

?>

<!DOCTYPE html>

<html>

<head>

 <meta charset="UTF-8">

 <title>Cookies</title>

</head>

<body>

 <p>Reload page ini setelah 1 menit</p>

 <?php

 if(isset($_COOKIE['user'])) {

  echo "Nama Cookie adalah : ". $_COOKIE['user'];

}

?>

</body>

</html>


Bila mereload halaman tersebut maka akan hilang tulisan Nama Cokie adalah : Yusuf. Hal itu menandakan bahwa sudah lebih dari 60 detik atau 1 menit.

Tidak ada komentar:

Posting Komentar