Variabel Global PHP - Super Global Variable

Super global variable diperkenalkan dalam PHP 4.1.0, adalah variabel baku yang selalu tersedia di seluruh lingkungan.

Variabel Global PHP - Super Global Variable

Banyak variabel yang dipredifinikan dalam PHP adalah 'super global', ini bermakna mereka boleh diakses di seluruh lingkungan skrip. Tidak perlu melaksanakan global $variable; untuk mengakses mereka di dalam fungsi atau method.

Variabel super global ini adalah:

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

Bagian ini akan memaparkan beberapa super global variable, dan akan dijelaskan lagi di bab lain.

$GLOBALS — Merujuk kepada semua variabel yang tersedia dalam lingkungan global

Variabel global $GLOBALS digunakan untuk mengakses variabel global di mana-mana di skrip PHP (dari fungsi atau method).

PHP menyimpan semua variabel global dalam array yang dinamakan $GLOBALS. Nama variabel adalah kunci array.

Contoh di bawah ini menunjukkan bagaimana mengguna pakai super global variable $GLOBALS:

Contoh

<?php 
$x = 75; 
$y = 25;
function addition() { 
  $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 
}
addition(); 
echo $z; 
?>

Jalankan Contoh

Dalam contoh di atas, kerana z adalah variabel dalam array $GLOBALS, jadi ia boleh diakses di luar fungsi.

PHP $_SERVER

Variabel global $_SERVER menyimpan maklumat tentang header, laluan dan lokasi skrip.

Contoh di bawah ini menunjukkan bagaimana mengguna pakai beberapa elemen $_SERVER:

Contoh

<?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'];
?>

Jalankan Contoh

Tabel di bawah ini menunjukkan elemen yang paling penting yang dapat diakses di $_SERVER:

Elemen/Kode Deskripsi
$_SERVER['PHP_SELF'] Mengembalikan nama file skrip yang dieksekusi saat ini.
$_SERVER['GATEWAY_INTERFACE'] Mengembalikan versi spesifikasi CGI yang digunakan server.
$_SERVER['SERVER_ADDR'] Mengembalikan alamat IP server tempat skrip saat ini berjalan.
$_SERVER['SERVER_NAME'] Mengembalikan nama host server tempat skrip saat ini berjalan (contoh www.codew3c.com).
$_SERVER['SERVER_SOFTWARE'] Mengembalikan string identifikasi server (contoh Apache/2.2.24).
$_SERVER['SERVER_PROTOCOL'] Mengembalikan nama dan versi protokol komunikasi protokol permintaan (contoh "HTTP/1.0").
$_SERVER['REQUEST_METHOD'] Mengembalikan metode permintaan yang digunakan untuk mengakses halaman (contoh POST).
$_SERVER['REQUEST_TIME'] Mengembalikan timestamp saat permintaan dimulai (contoh 1577687494).
$_SERVER['QUERY_STRING'] Mengembalikan string query, jika halaman ini diakses melalui string query.
$_SERVER['HTTP_ACCEPT'] Mengembalikan judul permintaan dari permintaan saat ini.
$_SERVER['HTTP_ACCEPT_CHARSET'] Mengembalikan judul Accept_Charset dari permintaan saat ini (contoh utf-8,ISO-8859-1)
$_SERVER['HTTP_HOST'] Mengembalikan judul Host dari permintaan saat ini.
$_SERVER['HTTP_REFERER'] Mengembalikan URL lengkap halaman saat ini (tidak terpercaya, karena bukan semua agen pengguna mendukung).
$_SERVER['HTTPS'] Adakah penggunaan protokol HTTP selamat untuk mengecek skrip.
$_SERVER['REMOTE_ADDR'] Kembalikan alamat IP pengguna yang melihat halaman semasa.
$_SERVER['REMOTE_HOST'] Kembalikan namahost pengguna yang melihat halaman semasa.
$_SERVER['REMOTE_PORT'] Kembalikan port yang digunakan oleh komputer pengguna untuk berhubung ke pelayan web Web.
$_SERVER['SCRIPT_FILENAME'] Kembalikan laluan absolut skrip yang dijalankan semasa.
$_SERVER['SERVER_ADMIN'] Nilai ini menentukan parameter SERVER_ADMIN dalam fail konfigurasi pelayan Apache.
$_SERVER['SERVER_PORT'] Port yang digunakan pelayan web Web. Nilai default adalah '80'.
$_SERVER['SERVER_SIGNATURE'] Kembalikan versi pelayan web dan namahost virtual.
$_SERVER['PATH_TRANSLATED'] Laluan asas fail sistem yang berada di dalam skrip semasa (tidak adalah direktori root dokumen).
$_SERVER['SCRIPT_NAME'] Kembalikan laluan skrip semasa.
$_SERVER['SCRIPT_URI'] Kembalikan URI halaman semasa.

PHP $_REQUEST

PHP $_REQUEST digunakan untuk mengumpulkan data yang disubmit HTML formulir.

Contoh ini menunjukkan formulir yang mengandung medan input dan tombol submit. Apabila pengguna mengklik tombol submit untuk menghantar data formulir, data formulir akan dihantar ke skrip yang ditentukan di samping action atribut <form> tag. Dalam contoh ini, kami menentukan fail sendiri untuk menguruskan data formulir. Jika anda memerlukan laman PHP lain untuk menguruskan data formulir, sila ubah kepada namafail yang dipilih anda. kemudian, kami boleh menggunakan variable global super $_REQUEST untuk mengumpulkan nilai medan input:

Contoh

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

Jalankan Contoh

PHP $_POST

PHP $_POST digunakan secara luas untuk mengumpulkan data formulir yang disubmit dengan method="post" HTML formulir. $_POST juga sering digunakan untuk memantau variable.

Contoh ini menunjukkan formulir yang mengandung medan input dan tombol submit. Apabila pengguna mengklik tombol submit untuk menghantar data, data formulir akan dihantar ke fail yang ditentukan di samping action atribut <form> tag. Dalam contoh ini, kami menentukan fail sendiri untuk menguruskan data formulir. Jika anda mahu menggunakan laman PHP lain untuk menguruskan data formulir, sila ubah kepada namafail yang pilihan anda. kemudian, kami boleh menggunakan variable global super $_POST untuk mengumpulkan nilai medan input:

Contoh

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

Jalankan Contoh

PHP $_GET

PHP $_GET juga dapat digunakan untuk mengumpulkan data formulir yang disubmit setelah HTML formulir (method="get").

$_GET juga dapat mengumpulkan data yang dikirim di URL.

Dipercaya kami ada halaman yang mengandung tautan parametris:

<html>
<body>
<a href="test_get.php?subject=PHP&web=codew3c.com">Test $GET</a>
</body>
</html>

Ketika pengguna mengklik tautan "Test $GET", parameter "subject" dan "web" dikirim ke "test_get.php", lalu Anda dapat mengakses nilai ini melalui $_GET di "test_get.php".

Contoh di bawah ini adalah kode di "test_get.php":

Contoh

<html>
<body>
<?php 
echo "Dalam " . $_GET['web'] . " belajar " . $_GET['subject'];
?>
</body>
</html>

Jalankan Contoh

Petikan:Anda akan belajar di Formulir PHP Ketahui lebih banyak tentang $_POST dan $_GET di bagian ini.