Superglobals
diperkenalkan di PHP 4.1.0, dan built-in variabel yang selalu tersedia di semua
lingkup.
PHP Variabel 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 semua fungsi, kelas atau berkas tanpa harus melakukan sesuatu
yang istimewa.
PHP Variabel 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 $ GLOBAL
$ GLOBAL adalah super
variabel global PHP yang digunakan untuk mengakses variabel global dari mana
saja di script PHP (juga dari dalam fungsi atau metode).
PHP menyimpan semua
variabel global dalam sebuah array disebut $ GLOBALS [index]. Indeks memegang
nama variabel.
Contoh di bawah ini
menunjukkan bagaimana menggunakan variabel global Super $ GLOBAL:
Contoh
<?php
$x = 75;
$y = 25;
function addition()
{
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
$x = 75;
$y = 25;
function addition()
{
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
Dalam contoh di atas,
karena z adalah variabel hadir dalam $ GLOBALS array, juga bentuk yang dapat
diakses di luar fungsi!
PHP $ _SERVER
$ _SERVER Adalah super
variabel global PHP yang menyimpan informasi tentang header, jalan, 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'];
?>
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'];
?>
Tabel berikut
mencantumkan elemen yang paling penting yang dapat masuk ke dalam $ _SERVER:
|
Element/Code
|
Description
|
|
$_SERVER['PHP_SELF']
|
Returns the filename of the currently executing script
|
|
$_SERVER['GATEWAY_INTERFACE']
|
Returns the version of the Common Gateway Interface (CGI) the
server is using
|
|
$_SERVER['SERVER_ADDR']
|
Returns the IP address of the host server
|
|
$_SERVER['SERVER_NAME']
|
Returns the name of the host server (such as
www.w3schools.com)
|
|
$_SERVER['SERVER_SOFTWARE']
|
Returns the server identification string (such as
Apache/2.2.24)
|
|
$_SERVER['SERVER_PROTOCOL']
|
Returns the name and revision of the information protocol
(such as HTTP/1.1)
|
|
$_SERVER['REQUEST_METHOD']
|
Returns the request method used to access the page (such as
POST)
|
|
$_SERVER['REQUEST_TIME']
|
Returns the timestamp of the start of the request (such as
1377687496)
|
|
$_SERVER['QUERY_STRING']
|
Returns the query string if the page is accessed via a query
string
|
|
$_SERVER['HTTP_ACCEPT']
|
Returns the Accept header from the current request
|
|
$_SERVER['HTTP_ACCEPT_CHARSET']
|
Returns the Accept_Charset header from the current request
(such as utf-8,ISO-8859-1)
|
|
$_SERVER['HTTP_HOST']
|
Returns the Host header from the current request
|
|
$_SERVER['HTTP_REFERER']
|
Returns the complete URL of the current page (not reliable
because not all user-agents support it)
|
|
$_SERVER['HTTPS']
|
Is the script queried through a secure HTTP protocol
|
|
$_SERVER['REMOTE_ADDR']
|
Returns the IP address from where the user is viewing the
current page
|
|
$_SERVER['REMOTE_HOST']
|
Returns the Host name from where the user is viewing the
current page
|
|
$_SERVER['REMOTE_PORT']
|
Returns the port being used on the user's machine to
communicate with the web server
|
|
$_SERVER['SCRIPT_FILENAME']
|
Returns the absolute pathname of the currently executing
script
|
|
$_SERVER['SERVER_ADMIN']
|
Returns the value given to the SERVER_ADMIN directive in the
web server configuration file (if your script runs on a virtual host, it will
be the value defined for that virtual host) (such as someone@w3scholls.com)
|
|
$_SERVER['SERVER_PORT']
|
Returns the port on the server machine being used by the web
server for communication (such as 80)
|
|
$_SERVER['SERVER_SIGNATURE']
|
Returns the server version and virtual host name which are
added to server-generated pages
|
|
$_SERVER['PATH_TRANSLATED']
|
Returns the file system based path to the current script
|
|
$_SERVER['SCRIPT_NAME']
|
Returns the path of the current script
|
|
$_SERVER['SCRIPT_URI']
|
Returns the URI of the current page
|
PHP $ _REQUEST
PHP $ _REQUEST digunakan
untuk mengumpulkan data setelah mengirimkan formulir HTML.
Contoh di bawah ini
menunjukkan bentuk dengan field input dan tombol kirim. Ketika pengguna
mengirimkan data dengan mengklik "Submit", data formulir dikirim ke
file yang ditentukan dalam atribut aksi tag <form>. Dalam contoh
ini, kita arahkan ke berkas ini sendiri untuk pengolahan data
formulir. Jika Anda ingin menggunakan file PHP lain untuk data formulir
proses, menggantikan dengan nama file pilihan Anda. Kemudian, kita bisa
menggunakan super variabel $ _REQUEST global 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
$name = $_REQUEST['fname'];
echo $name;
?>
</body>
</html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
$name = $_REQUEST['fname'];
echo $name;
?>
</body>
</html>
PHP $ _POST
PHP $ _POST secara luas
digunakan untuk mengumpulkan data formulir setelah mengirimkan formulir HTML
dengan metode = "post". $ _POST Juga banyak digunakan untuk
melewatkan variabel.
Contoh di bawah ini
menunjukkan bentuk dengan field input dan tombol kirim. Ketika pengguna
mengirimkan data dengan mengklik "Submit", data formulir dikirim ke
file yang ditentukan dalam atribut aksi tag <form>. Dalam contoh
ini, kita arahkan ke berkas ini sendiri untuk pengolahan data
formulir. Jika Anda ingin menggunakan file PHP lain untuk data formulir
proses, menggantikan dengan nama file pilihan Anda. Kemudian, kita bisa
menggunakan super variabel $ _POST global 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
$name = $_POST['fname'];
echo $name;
?>
</body>
</html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
$name = $_POST['fname'];
echo $name;
?>
</body>
</html>
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=W3schools.com">Test $GET</a>
</body>
</html>
<body>
<a href="test_get.php?subject=PHP&web=W3schools.com">Test $GET</a>
</body>
</html>
Ketika pengguna mengklik
pada link "Uji $ GET", parameter "subjek" dan
"web" dikirim ke "test_get.php", dan Anda kemudian dapat
acces 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>
<body>
<?php
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>
</body>
</html>
0 komentar: