Superglobalele au fost introduse în PHP 4.1.0, și sunt variabile încorporate care sunt întotdeauna disponibile în toate domeniile.
Variabile PHP Global - superglobalele
Mai multe variabile predefinite în PHP sunt "superglobals" , ceea ce înseamnă că acestea sunt întotdeauna accesibile, indiferent de domeniul de aplicare - și le puteți accesa de la orice funcție, de clasă sau de fișiere , fără a fi nevoie să facă nimic special.
Variabilele PHP superglobale sunt:
- $ GLOBALS
- $ _SERVER
- $ _REQUEST
- $ _POST
- $ _GET
- $ _FILES
- $ _ENV
- $ _COOKIE
- $ _SESSION
Acest capitol va explica unele dintre superglobals, iar restul vor fi explicate în capitolele următoare.
PHP $ GLOBALS
$ GLOBALS este un super-PHP variabilă la nivel mondial, care este folosit pentru a accesa variabile globale de oriunde în script PHP (de asemenea, din cadrul funcții sau metode).
Stochează PHP toate variabilele globale într - o matrice numita $ GLOBALS [ index ]. Indicele deține numele variabilei.
Exemplul de mai jos arată cum se utilizează super variabila globală $ GLOBALS:
Exemplu
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] =
$GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
Run exemplu » În exemplul de mai sus, deoarece z este o variabilă prezentă în matrice $ GLOBALS, de asemenea, este accesibil din afara funcției!
PHP $ _SERVER
$ _SERVER este o variabilă PHP super-global, care deține informații despre antete, căi și locații de script.
Exemplul de mai jos arată cum să utilizați unele dintre elementele din $ _SERVER:
Exemplu
<?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'];
?>
Run exemplu » Tabelul de mai jos listează cele mai importante elemente care pot merge în interiorul $ _SERVER:
Element / Cod | Descriere |
---|---|
$ _SERVER [ 'PHP_SELF'] | Returnează numele fișierului script-ul în execuție |
$ _SERVER [ 'GATEWAY_INTERFACE'] | Returnează versiunea Common Gateway Interface (CGI) serverul utilizează |
$ _SERVER [ 'SERVER_ADDR'] | Returnează adresa IP a serverului gazdă |
$ _SERVER [ 'SERVER_NAME'] | Returnează numele serverului gazdă (such as www.w3ii.com) |
$ _SERVER [ 'SERVER_SOFTWARE'] | Returnează șirul de identificare a serverului (such as Apache/2.2.24) |
$ _SERVER [ 'SERVER_PROTOCOL'] | Returnează numele și revizuirea protocolului de informații (such as HTTP/1.1) |
$ _SERVER [ 'REQUEST_METHOD'] | Returnează metoda solicitării utilizată pentru accesarea paginii (such as POST) |
$ _SERVER [ 'REQUEST_TIME'] | Returnează amprenta de timp de la începutul cererii (such as 1377687496) |
$ _SERVER [ 'QUERY_STRING'] | Returnează șirul de interogare dacă pagina este accesată printr-un șir de interogare |
$ _SERVER [ 'HTTP_ACCEPT'] | Returnează antetul de acceptare din cererea curentă |
$ _SERVER [ 'HTTP_ACCEPT_CHARSET'] | Returnează antetul Accept_Charset din cererea curentă (cum ar fi UTF-8, ISO-8859-1) |
$ _SERVER [ 'HTTP_HOST'] | Returnează antetul gazdă din cererea curentă |
$ _SERVER [ 'HTTP_REFERER'] | Returnează adresa URL completă a paginii curente (nu sunt fiabile, deoarece nu toate user-agent-l suport) |
$ _SERVER [ 'HTTPS'] | Este script-ul interogate printr-un protocol HTTP securizat |
$ _SERVER [ 'REMOTE_ADDR'] | Returnează adresa IP de unde utilizatorul vizualizează pagina curentă |
$ _SERVER [ 'REMOTE_HOST'] | Returnează numele gazdă de unde utilizatorul vizualizează pagina curentă |
$ _SERVER [ 'REMOTE_PORT'] | Returnează portul utilizat pe mașina utilizatorului să comunice cu serverul de web |
$ _SERVER [ 'SCRIPT_FILENAME'] | Returnează calea absoluta a script-ul în execuție |
$ _SERVER [ 'SERVER_ADMIN'] | Returnează valoarea dată a directivei SERVER_ADMIN în fișierul de configurare a serverului web (dacă script - ul rulează pe o gazdă virtuală, aceasta va fi valoarea definită pentru acea gazdă virtuală) (such as [email protected]) |
$ _SERVER [ 'SERVER_PORT'] | Returnează portul de pe mașina server utilizat de serverul web pentru comunicare (such as 80) |
$ _SERVER [ 'SERVER_SIGNATURE'] | Returnează versiunea de server și numele de gazdă virtuală, care sunt adăugate la pagini generate de server |
$ _SERVER [ 'PATH_TRANSLATED'] | Returnează calea bazată pe sistemul de fișiere pentru a script-ul curent |
$ _SERVER [ 'SCRIPT_NAME'] | Returnează calea script-ul curent |
$ _SERVER [ 'SCRIPT_URI'] | Returnează URI-ul paginii curente |
PHP $ _REQUEST
PHP $ _REQUEST este utilizat pentru a colecta date după trimiterea unui formular HTML.
Exemplul de mai jos prezintă o formă cu un câmp de intrare și un buton de trimitere. Atunci când un utilizator transmite datele făcând clic pe "Submit" , datele formular sunt trimise la fișierul specificat în action atributul <form> tag - ul. În acest exemplu, vom indica acest fișier în sine pentru date de formular de prelucrare. Dacă doriți să utilizați un alt fișier PHP pentru a procesa datele de formular, să le înlocuiască cu numele de fișier la alegere. Apoi, putem folosi super globală variabila $ _REQUEST pentru a colecta valoarea câmpului de intrare:
Exemplu
<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>
Run exemplu » PHP $ _POST
PHP $ _POST este utilizat pe scară largă pentru a colecta date din formulare, după depunerea unui formular HTML cu metoda = „post“. $ _POST este, de asemenea, utilizat pe scară largă pentru a trece variabile.
Exemplul de mai jos prezintă o formă cu un câmp de intrare și un buton de trimitere. Atunci când un utilizator transmite datele făcând clic pe "Submit" , datele formular sunt trimise la fișierul specificat în action atributul <form> tag - ul. În acest exemplu, vom indica fișierul în sine pentru date de formular de prelucrare. Dacă doriți să utilizați un alt fișier PHP pentru a procesa datele de formular, să le înlocuiască cu numele de fișier la alegere. Apoi, putem folosi super globală variabila $ _POST pentru a colecta valoarea câmpului de intrare:
Exemplu
<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>
Run exemplu » PHP $ _GET
PHP $ _GET poate fi, de asemenea, utilizat pentru a colecta date de formular după trimiterea unui formular HTML cu metoda = „get“.
$ _GET poate colecta, de asemenea, datele trimise în adresa URL.
Să presupunem că avem o pagină HTML care conține un hyperlink cu parametrii:
<html>
<body>
<a href="test_get.php?subject=PHP&web=w3ii.com">Test $GET</a>
</body>
</html>
Atunci când un utilizator face clic pe link - ul "Test $GET" , parametrii de "subject" și "web" sunt trimise la "test_get.php" , și puteți accesa apoi valorile lor în "test_get.php" cu $ _GET.
Exemplul de mai jos arată codul în "test_get.php" :
Exemplu
<html>
<body>
<?php
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>
</body>
</html>
Run exemplu » Sfat: Vei afla mai multe despre $ _POST si $ _GET in Formulare PHP capitol.