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



