tutorial pengembangan web terbaru
 

PHP 5 Variabel global - superglobals


Superglobals diperkenalkan di PHP 4.1.0, dan built-in variabel yang selalu tersedia di semua lingkup.


Variabel PHP global - superglobals

Beberapa variabel yang telah ditetapkan dalam PHP adalah "superglobals" , yang berarti bahwa mereka selalu dapat diakses, terlepas dari lingkup - dan Anda dapat mengaksesnya dari fungsi apapun, kelas atau file yang tanpa harus melakukan sesuatu yang istimewa.

variabel PHP superglobal adalah:

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

Bab ini akan menjelaskan beberapa superglobals, dan sisanya akan dijelaskan di bab berikutnya.


PHP $ GLOBALS

$ GLOBALS adalah PHP variabel global super yang digunakan untuk mengakses variabel global dari mana saja di script PHP (juga dari dalam fungsi atau metode).

Toko PHP semua variabel global dalam sebuah array disebut $ GLOBALS [ index ]. Indeks memegang nama variabel.

Contoh di bawah ini menunjukkan bagaimana menggunakan super variabel global $ GLOBALS:

Contoh

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

Dalam contoh di atas, karena z adalah hadiah variabel dalam array $ GLOBALS, hal ini juga dapat diakses dari luar fungsi!


PHP $ _SERVER

$ _SERVER adalah PHP variabel global super yang memegang informasi tentang header, jalur, dan lokasi skrip.

Contoh di bawah ini menunjukkan bagaimana menggunakan beberapa elemen di $ _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'];
?>
Menjalankan contoh »

Tabel berikut mencantumkan elemen yang paling penting yang dapat masuk ke dalam $ _SERVER:

Elemen / Kode Deskripsi
$ _SERVER [ 'PHP_SELF'] Mengembalikan nama file dari script saat ini mengeksekusi
$ _SERVER [ 'GATEWAY_INTERFACE'] Mengembalikan versi Common Gateway Interface (CGI) server menggunakan
$ _SERVER [ 'SERVER_ADDR'] Mengembalikan alamat IP dari server host
$ _SERVER [ 'SERVER_NAME'] Mengembalikan nama server host (such as www.w3ii.com)
$ _SERVER [ 'SERVER_SOFTWARE'] Mengembalikan identifikasi Server tali (such as Apache/2.2.24)
$ _SERVER [ 'SERVER_PROTOCOL'] Mengembalikan nama dan revisi protokol informasi (such as HTTP/1.1)
$ _SERVER [ 'REQUEST_METHOD'] Mengembalikan metode permintaan yang digunakan untuk mengakses halaman (such as POST)
$ _SERVER [ 'REQUEST_TIME'] Mengembalikan timestamp dari awal permintaan (such as 1377687496)
$ _SERVER [ 'QUERY_STRING'] Mengembalikan string jika halaman diakses melalui query string
$ _SERVER [ 'HTTP_ACCEPT'] Mengembalikan Terima header dari permintaan saat ini
$ _SERVER [ 'HTTP_ACCEPT_CHARSET'] Mengembalikan header Accept_Charset dari permintaan saat ini (seperti utf-8, ISO-8859-1)
$ _SERVER [ 'HTTP_HOST'] Mengembalikan Host header dari permintaan saat ini
$ _SERVER [ 'HTTP_REFERER'] Mengembalikan URL lengkap dari halaman saat ini (tidak dapat diandalkan karena tidak semua pengguna-agen mendukungnya)
$ _SERVER [ 'HTTPS'] Apakah script bertanya melalui protokol HTTP aman
$ _SERVER [ 'REMOTE_ADDR'] Mengembalikan alamat IP dari mana pengguna melihat halaman saat
$ _SERVER [ 'REMOTE_HOST'] Mengembalikan nama host dari mana pengguna melihat halaman saat
$ _SERVER [ 'REMOTE_PORT'] Mengembalikan port yang digunakan pada mesin pengguna untuk berkomunikasi dengan server web
$ _SERVER [ 'SCRIPT_FILENAME'] Mengembalikan path absolut dari script saat ini mengeksekusi
$ _SERVER [ 'SERVER_ADMIN'] Mengembalikan nilai yang diberikan kepada direktif SERVER_ADMIN di file konfigurasi web server (jika naskah Anda berjalan pada virtual host, itu akan menjadi nilai yang ditetapkan untuk itu virtual host) (such as [email protected])
$ _SERVER [ 'SERVER_PORT'] Mengembalikan port pada mesin server yang digunakan oleh web server untuk komunikasi (such as 80)
$ _SERVER [ 'SERVER_SIGNATURE'] Mengembalikan versi server dan nama virtual host yang ditambahkan ke halaman server yang dihasilkan
$ _SERVER [ 'PATH_TRANSLATED'] Mengembalikan path berdasarkan sistem file untuk naskah saat ini
$ _SERVER [ 'SCRIPT_NAME'] Mengembalikan jalur script saat ini
$ _SERVER [ 'SCRIPT_URI'] Mengembalikan URI dari halaman saat ini

PHP $ _REQUEST

PHP $ _REQUEST digunakan untuk mengumpulkan data setelah mengirimkan formulir HTML.

Contoh di bawah ini menunjukkan bentuk dengan field input dan sebuah tombol submit. Ketika pengguna mengirimkan data dengan mengklik "Submit" , bentuk data dikirim ke file yang ditentukan dalam action atribut dari <form> tag. Dalam contoh ini, kita arahkan ke file ini sendiri untuk data formulir pengolahan. Jika Anda ingin menggunakan file PHP lain untuk memproses data formulir, menggantikan dengan nama file pilihan Anda. Kemudian, kita bisa menggunakan super variabel global $ _REQUEST untuk mengumpulkan nilai dari field input:

Contoh

<html>
<body>

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

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // collect value of input field
    $name = $_REQUEST['fname'];
    if (empty($name)) {
        echo "Name is empty";
    } else {
        echo $name;
    }
}
?>

</body>
</html>
Menjalankan contoh »

PHP $ _POST

PHP $ _POST secara luas digunakan untuk mengumpulkan data formulir setelah mengirimkan formulir HTML dengan metode = "post". $ _POST juga banyak digunakan untuk lulus variabel.

Contoh di bawah ini menunjukkan bentuk dengan field input dan sebuah tombol submit. Ketika pengguna mengirimkan data dengan mengklik "Submit" , bentuk data dikirim ke file yang ditentukan dalam action atribut dari <form> tag. Dalam contoh ini, kita arahkan ke file itu sendiri untuk data formulir pengolahan. Jika Anda ingin menggunakan file PHP lain untuk memproses data formulir, menggantikan dengan nama file pilihan Anda. Kemudian, kita bisa menggunakan super variabel global $ _POST untuk mengumpulkan nilai dari field input:

Contoh

<html>
<body>

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

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // collect value of input field
    $name = $_POST['fname'];
    if (empty($name)) {
        echo "Name is empty";
    } else {
        echo $name;
    }
}
?>

</body>
</html>
Menjalankan contoh »

PHP $ _GET

PHP $ _GET juga dapat digunakan untuk mengumpulkan data formulir setelah mengirimkan formulir HTML dengan metode = "mendapatkan".

$ _GET juga dapat mengumpulkan data yang dikirim dalam URL.

Anggaplah kita memiliki halaman HTML yang berisi hyperlink dengan parameter:

<html>
<body>

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

</body>
</html>

Ketika pengguna mengklik pada link "Test $GET" , parameter "subject" dan "web" dikirim ke "test_get.php" , dan Anda kemudian dapat mengakses nilai-nilai mereka di "test_get.php" dengan $ _GET.

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

Contoh

<html>
<body>

<?php
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>

</body>
</html>
Menjalankan contoh »

Tip: Anda akan belajar lebih banyak tentang $ _POST dan $ _GET dalam Formulir PHP bab.