PHP super globali su ugrađene varijable kojima se može pristupiti iz svih opsega.

PHP Super Globals (PHP Super Globals)

U ovoj lekciji objasnit ćemo sve super globale u PHP-u s primjerima. Čitajte dalje kako biste saznali.

PHP Super Globals: $GLOBALS

$GLOBALS superglobal se koristi za pristup globalnim varijablama iz bilo kojeg polja (uključujući funkcije ili metode) u PHP skripti. PHP pohranjuje sve globalne varijable u polje pod nazivom $GLOBALS[index]. Indeks sadrži naziv varijable. Sljedeći primjer pokazuje kako koristiti superglobalnu varijablu $GLOBALS:

$number1 = 50;
$number2 = 20;
function addition(): int
{
    return $GLOBALS[ 'number3' ] = $GLOBALS[ 'number2' ] + $GLOBALS[ 'number1' ];
}
echo addition();
// Çıktı: 70

PHP Super Globals: $_REQUEST

PHP $_REQUEST je PHP superglobal koji se koristi za prikupljanje podataka iz HTML obrasca.

<!DOCTYPE html>
<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') {
    // input elementinden gelen veriyi değişkene ata
    $name = htmlspecialchars($_REQUEST[ 'fname' ]);
    if (empty($name)) {
        echo 'Ad yok';
    } else {
        echo $name;
    }
}
?>
</body>
</html>

U gornjem primjeru stvorili smo obrazac koji vraća podatke metodom post. Omogućili smo mu vraćanje podataka na istoj stranici s $_SERVER['PHP_SELF']. Provjerili smo da je zahtjev koji dolazi sa superglobalom $_SERVER['REQUEST_METHOD'] post zahtjev. Zatim smo podatke iz unosa pod nazivom fname s vrijednošću name sigurno dodijelili varijabli $name s superglobalom $_REQUEST pomoću funkcije htmlspecialchars(). Provjerili smo je li varijabla $name prazna ili nije s PHP if uvjetom. Ako je prazan, ispisujemo izlaz "Bez imena", inače ispisujemo podatke varijable $name.

PHP Super Globals: $_POST

PHP $_POST je PHP superglobal koji se koristi za prikupljanje podataka iz HTML obrasca putem POST metode.

<!DOCTYPE html>
<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') {
    // input elementinden gelen veriyi değişkene ata
    $name = htmlspecialchars($_POST[ 'fname' ]);
    if (empty($name)) {
        echo 'Ad yok';
    } else {
        echo $name;
    }
}
?>
</body>
</html>

U gornjem primjeru stvorili smo obrazac koji vraća podatke metodom post. Omogućili smo mu vraćanje podataka na istoj stranici s $_SERVER['PHP_SELF']. Provjerili smo da je zahtjev koji dolazi sa superglobalom $_SERVER['REQUEST_METHOD'] post zahtjev. Zatim smo podatke iz unosa pod nazivom fname s vrijednošću name sigurno dodijelili varijabli $name s superglobalom $_POST pomoću funkcije htmlspecialchars(). Provjerili smo je li varijabla $name prazna ili nije s PHP if uvjetom. Ako je prazan, ispisujemo izlaz "Bez imena", inače ispisujemo podatke varijable $name.

PHP Super Globals: $_GET

PHP $_GET je PHP superglobal koji se koristi za prikupljanje podataka iz HTML obrasca putem GET metode. Također možemo dohvatiti podatke poslane s get u url-u s $_GET superglobalom.

Dobivanje podataka iz obrasca uz PHP $_GET Super Global

U donjem primjeru primili smo podatke iz HTML obrasca s PHP $_GET superglobalom.

<!DOCTYPE html>
<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' ] === 'GET') {
    // input elementinden gelen veriyi değişkene ata
    $name = htmlspecialchars($_GET[ 'fname' ]);
    if (empty($name)) {
        echo 'Ad yok';
    } else {
        echo $name;
    }
}
?>
</body>
</html>

U gornjem primjeru stvorili smo obrazac koji vraća podatke metodom post. Omogućili smo mu vraćanje podataka na istoj stranici s $_SERVER['PHP_SELF']. Provjerili smo da je zahtjev koji dolazi sa superglobalom $_SERVER['REQUEST_METHOD'] post zahtjev. Zatim smo podatke iz unosa pod nazivom fname s vrijednošću name sigurno dodijelili varijabli $name s superglobalom $_POST pomoću funkcije htmlspecialchars(). Provjerili smo je li varijabla $name prazna ili nije s PHP if uvjetom. Ako je prazan, ispisujemo izlaz "Bez imena", inače ispisujemo podatke varijable $name.

Dohvaćanje podataka s URL-a uz PHP $_GET Super Global

U donjem primjeru dohvatili smo podatke s URL-a s PHP $_GET superglobalom.

<!DOCTYPE html>
<html>
<body>
<a href="<?php
echo $_SERVER[ 'PHP_SELF' ] ?>?name=Onur%20Özden&website=www.onurozden.com.tr">Buraya Tıkla</a>
<?php
echo "Ben " . $_GET[ 'name' ] . " şu sitede PHP öğreniyorum: " . $_GET[ 'website' ];
?>
</body>
</html>

U gornjem primjeru, umjesto da upišemo naziv vaše datoteke, dobili smo naziv datoteke koristeći superglobal $_SERVER. Sada objasnimo što smo učinili u ovom primjeru. Napravili smo HTML dokument i dali smo parametar imena datoteci get.php. Parametru naziva dali smo vrijednost "Onur Özden" i parametre odvojili znakom '&'. Nakon toga izradili smo parametar web stranice i dali mu vrijednost "onurozden.com.tr". Ispisali smo tekst "Kliknite ovdje" na oznaku A. Dolazeći do PHP dijela, ispisali smo "Moje ime" s echoom i upotrijebili superglobal $_GET s operatorom spajanja za dohvaćanje i ispis podataka parametra pod nazivom name. Opet, koristeći operator spajanja, ispisali smo " i moje web mjesto ". Ponovno smo upotrijebili operator ulančavanja i dobili podatke parametra web stranice s $GET superglobalom i ispisali ih.

PHP Super Globals: $_SERVER

$_SERVER superglobal je PHP superglobalna varijabla koja sadrži informacije o zaglavljima, stazama i lokacijama skripti. U donjem primjeru pokazujemo kako koristiti superglobal $_SERVER.

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

U gornjem primjeru definirali smo varijable imena $number1 i $number2 i dali im vrijednosti tipa broj. Zatim smo definirali funkciju koja se zove add koja vraća vrijednost tipa podataka int. Rekli smo da se u $GLOBALS superglobalu imena varijabli čuvaju kao indeksi. Stvorili smo varijablu stvaranjem indeksa pod nazivom broj3. Ovoj varijabli dodijelili smo zbroj varijabli $number2 i varijable $number1, kojima smo pristupili iz globalnog područja pomoću $GLOBALS superglobala. Zatim smo vratili ovu vrijednost s return i prekinuli funkciju. Kao posljednji korak, ispisujemo vrijednost u našoj add() funkciji s echo.

Sve upotrebe PHP $_SERVER Super Global

$_SERVER['PHP_SELF']Vraća naziv datoteke izvršene skripte.
$_SERVER['GATEWAY_INTERFACE']Vraća verziju CGI (Common Gateway Interface) koju koristi poslužitelj.
$_SERVER['SERVER_ADDR']Vraća IP adresu glavnog poslužitelja.
$_SERVER['SERVER_NAME']Vraća naziv glavnog poslužitelja.
$_SERVER['SERVER_SOFTWARE']Vraća identifikacijski tekst poslužitelja (kao što je Apache/2.2.24).
$_SERVER['SERVER_PROTOCOL']Vraća naziv i verziju informacijskog protokola (kao što je HTTP/1.1).
$_SERVER['REQUEST_METHOD']Vraća metodu zahtjeva korištenu za pristup stranici (kao što je POST, GET).
$_SERVER['REQUEST_TIME']Vraća vremensku oznaku početka zahtjeva (npr. 1377687496).
$_SERVER['QUERY_STRING']Ako se stranici pristupi putem niza upita, ona vraća niz upita.
$_SERVER['HTTP_ACCEPT']Vraća zaglavlje prihvaćanja iz trenutnog zahtjeva.
$_SERVER['HTTP_ACCEPT_CHARSET']Vraća zaglavlje Accept_Charset iz trenutnog zahtjeva (kao što je utf-8,ISO-8859-1).
$_SERVER['HTTP_HOST']Vraća zaglavlje hosta iz trenutnog zahtjeva.
$_SERVER['HTTP_REFERER']Vraća puni URL trenutne stranice (nije pouzdan jer ga ne podržavaju svi korisnički agenti).
$_SERVER['HTTPS']Provjerava postavlja li se upit skripti putem sigurnog HTTP protokola (HTTPS).
$_SERVER['REMOTE_ADDR']Vraća IP adresu s koje korisnik gleda trenutnu stranicu.
$_SERVER['REMOTE_HOST']Vraća naziv hosta s kojeg korisnik gleda trenutnu stranicu.
$_SERVER['REMOTE_PORT']Vraća priključak koji se koristi na korisnikovom računalu za komunikaciju s web poslužiteljem.
$_SERVER['SCRIPT_FILENAME']Vraća apsolutni put skripte koja se trenutno izvodi.
$_SERVER['SERVER_ADMIN']Vraća vrijednost danu direktivi SERVER_ADMIN u konfiguracijskoj datoteci web poslužitelja (ako se vaša skripta izvodi na virtualnom hostu, to će biti vrijednost definirana za taj virtualni host) (kao što je some@onurozden.com.tr).
$_SERVER['SERVER_PORT']Vraća priključak na poslužiteljskom stroju koji web poslužitelj koristi za komunikaciju (kao što je 80).
$_SERVER['SERVER_SIGNATURE']Vraća verziju poslužitelja i virtualni naziv glavnog računala dodane stranici koju je generirao poslužitelj.
$_SERVER['PATH_TRANSLATED']Vraća stazu temeljenu na sustavu datoteka do trenutne skripte.
$_SERVER['SCRIPT_FILENAME']Vraća putanju do trenutne skripte.
$_SERVER['SCRIPT_URI']Vraća URI trenutne stranice.