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ı: 70PHP 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. |



