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

PHP Super Globals (PHP Super Globals)

U ovoj lekciji ćemo objasniti sve super globale u PHP-u na primerima. Čitajte dalje da saznate.

PHP Super Globals: $GLOBALS

Superglobal $GLOBALS 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 niz pod nazivom $GLOBALS[index]. Indeks sadrži ime 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 forme.

<!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 kreirali smo obrazac koji vraća podatke s metodom post. Omogućili smo mu da vrati podatke na istoj stranici sa $_SERVER['PHP_SELF']. Potvrdili smo da je zahtjev koji dolazi sa superglobalom $_SERVER['REQUEST_METHOD'] post zahtjev. Zatim smo bezbedno dodelili podatke sa ulaza pod nazivom fname sa vrednošću name varijabli $name sa superglobalnom $_REQUEST koristeći funkciju htmlspecialchars(). Provjerili smo da li je varijabla $name prazna ili ne pomoću PHP if uvjeta. Ako je prazan, ispisujemo izlaz "Bez imena", u suprotnom ispisujemo podatke varijable $name.

PHP Super Globals: $_POST

PHP $_POST je PHP superglobal koji se koristi za prikupljanje podataka iz HTML forme 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 kreirali smo obrazac koji vraća podatke s metodom post. Omogućili smo mu da vrati podatke na istoj stranici sa $_SERVER['PHP_SELF']. Potvrdili smo da je zahtjev koji dolazi sa superglobalom $_SERVER['REQUEST_METHOD'] post zahtjev. Zatim smo bezbedno dodelili podatke sa inputa pod nazivom fname sa vrednošću name varijabli $name sa superglobalnom $_POST koristeći funkciju htmlspecialchars(). Provjerili smo da li je varijabla $name prazna ili ne pomoću PHP if uvjeta. Ako je prazan, ispisujemo izlaz "Bez imena", u suprotnom ispisujemo podatke varijable $name.

PHP Super Globals: $_GET

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

Dobijanje podataka iz obrasca pomoću PHP-a $_GET Super Global

U primjeru ispod, primili smo podatke iz HTML obrasca sa PHP $_GET superglobal.

<!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 kreirali smo obrazac koji vraća podatke s metodom post. Omogućili smo mu da vrati podatke na istoj stranici sa $_SERVER['PHP_SELF']. Potvrdili smo da je zahtjev koji dolazi sa superglobalom $_SERVER['REQUEST_METHOD'] post zahtjev. Zatim smo bezbedno dodelili podatke sa inputa pod nazivom fname sa vrednošću name varijabli $name sa superglobalnom $_POST koristeći funkciju htmlspecialchars(). Provjerili smo da li je varijabla $name prazna ili ne pomoću PHP if uvjeta. Ako je prazan, ispisujemo izlaz "Bez imena", u suprotnom ispisujemo podatke varijable $name.

Dobivanje podataka sa URL-a pomoću PHP-a $_GET Super Global

U primjeru ispod, preuzeli smo podatke iz URL-a pomoću PHP $_GET superglobal.

<!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 unesemo ime vašeg fajla, dobili smo ime datoteke koristeći superglobal $_SERVER. Hajde sada da objasnimo šta smo uradili u ovom primeru. Napravili smo HTML dokument i dali parametar name get.php datoteci. Parametru naziva dali smo vrijednost "Onur Özden" i odvojili parametre znakom '&'. Nakon toga smo kreirali parametar web stranice i dali mu vrijednost "onurozden.com.tr". Odštampali smo tekst "Klikni ovde" na etiketi A. Dolazeći do PHP dela, odštampali smo "Moje ime" sa eho-om i koristili $_GET superglobal sa operatorom konkatenacije da bismo dohvatili i odštampali podatke parametra pod nazivom ime. Opet, koristeći operator spajanja, ispisali smo "i moju web stranicu". Ponovo smo koristili operator konkatenacije i dobili podatke parametra web stranice sa $GET superglobalom i ispisali ih.

PHP Super Globals: $_SERVER

$_SERVER superglobal je PHP superglobalna varijabla koja sadrži informacije o zaglavljima, stazama i lokacijama skripte. U primjeru ispod 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 pod nazivom $number1 i $number2 i dali im vrijednosti tipa broj. Zatim smo definirali funkciju zvanu zbrajanje koja vraća vrijednost tipa podataka int. Rekli smo da se u $GLOBALS superglobalu imena varijabli čuvaju kao indeksi. Varijablu smo kreirali kreiranjem indeksa pod nazivom number3. Ovoj promenljivoj dodelili smo zbir promenljive $number2 i promenljive $number1, kojoj smo pristupili iz globalnog područja sa superglobalom $GLOBALS. Zatim smo vratili ovu vrijednost s return i prekinuli funkciju. Kao posljednji korak, unosimo vrijednost u našu add() funkciju sa echo.

Sve upotrebe PHP $_SERVER Super Global

$_SERVER['PHP_SELF']Vraća ime datoteke izvršene skripte.
$_SERVER['GATEWAY_INTERFACE']Vraća verziju CGI (Common Gateway Interface) koju koristi server.
$_SERVER['SERVER_ADDR']Vraća IP adresu host servera.
$_SERVER['SERVER_NAME']Vraća ime glavnog servera.
$_SERVER['SERVER_SOFTWARE']Vraća tekst identifikacije servera (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 koja se koristi 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 pristupa putem niza upita, ona vraća string upita.
$_SERVER['HTTP_ACCEPT']Vraća zaglavlje prihvatanja 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 pun URL trenutne stranice (nije pouzdan jer ga ne podržavaju svi korisnički agenti).
$_SERVER['HTTPS']Provjerava da li je skripta upitana putem sigurnog HTTP protokola (HTTPS).
$_SERVER['REMOTE_ADDR']Vraća IP adresu sa koje korisnik gleda trenutnu stranicu.
$_SERVER['REMOTE_HOST']Vraća ime hosta odakle korisnik gleda trenutnu stranicu.
$_SERVER['REMOTE_PORT']Vraća port koji se koristi na mašini korisnika za komunikaciju sa web serverom.
$_SERVER['SCRIPT_FILENAME']Vraća apsolutnu putanju skripte koja se trenutno izvršava.
$_SERVER['SERVER_ADMIN']Vraća vrijednost datu direktivi SERVER_ADMIN u konfiguracijskoj datoteci web servera (ako se vaša skripta izvodi na virtuelnom hostu, to će biti vrijednost definirana za taj virtualni host) (kao što je some@onurozden.com.tr).
$_SERVER['SERVER_PORT']Vraća port na serverskom stroju koji web server koristi za komunikaciju (kao što je 80).
$_SERVER['SERVER_SIGNATURE']Vraća verziju servera i virtuelno ime hosta dodano stranici generisanoj serverom.
$_SERVER['PATH_TRANSLATED']Vraća putanju zasnovanu na sistemu datoteka do trenutne skripte.
$_SERVER['SCRIPT_FILENAME']Vraća putanju do trenutne skripte.
$_SERVER['SCRIPT_URI']Vraća URI trenutne stranice.