Ultimele tutoriale de dezvoltare web
 

PHP 5 variabile globale - superglobalele


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.