PHP super globals jsou vestavěné proměnné, ke kterým lze přistupovat ze všech oborů.
PHP Super Globals (PHP Super Globals)
V této lekci vysvětlíme všechny superglobály v PHP na příkladech. Čtěte dál a dozvíte se to.
PHP Super Globals: $GLOBALS
$GLOBALS superglobal se používá pro přístup ke globálním proměnným z libovolného pole (včetně funkcí nebo metod) ve skriptu PHP. PHP ukládá všechny globální proměnné do pole nazvaného $GLOBALS[index]. Index obsahuje název proměnné. Následující příklad ukazuje, jak používat superglobální proměnnou $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 používaný ke sběru dat z HTML formuláře.
<!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>Ve výše uvedeném příkladu jsme vytvořili formulář, který vrací data metodou post. Povolili jsme mu vrátit data na stejné stránce s $_SERVER['PHP_SELF']. Ověřili jsme, že požadavek přicházející s $_SERVER['REQUEST_METHOD'] superglobal je požadavek na příspěvek. Poté jsme bezpečně přiřadili data ze vstupu s názvem fname s hodnotou name do proměnné $name s $_REQUEST superglobal pomocí funkce htmlspecialchars(). Zkontrolovali jsme, zda je proměnná $name prázdná nebo ne pomocí podmínky PHP if. Pokud je prázdný, vytiskneme výstup "Bez názvu", v opačném případě vypíšeme údaje proměnné $jméno.
PHP Super Globals: $_POST
PHP $_POST je PHP superglobal používaný ke sběru dat z HTML formuláře pomocí metody POST.
<!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>Ve výše uvedeném příkladu jsme vytvořili formulář, který vrací data metodou post. Povolili jsme mu vrátit data na stejné stránce s $_SERVER['PHP_SELF']. Ověřili jsme, že požadavek přicházející s $_SERVER['REQUEST_METHOD'] superglobal je požadavek na příspěvek. Poté jsme bezpečně přiřadili data ze vstupu s názvem fname s hodnotou name do proměnné $name s $_POST superglobal pomocí funkce htmlspecialchars(). Zkontrolovali jsme, zda je proměnná $name prázdná nebo ne pomocí podmínky PHP if. Pokud je prázdný, vytiskneme výstup "Bez názvu", v opačném případě vypíšeme údaje proměnné $jméno.
PHP Super Globals: $ _GET
PHP $_GET je superglobál PHP používaný ke sběru dat z formuláře HTML pomocí metody GET. Můžeme také získat data odeslaná pomocí get v url pomocí $_GET superglobal.
Získávání dat z formuláře pomocí PHP $_GET Super Global
V níže uvedeném příkladu jsme obdrželi data z HTML formuláře s 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>Ve výše uvedeném příkladu jsme vytvořili formulář, který vrací data metodou post. Povolili jsme mu vrátit data na stejné stránce s $_SERVER['PHP_SELF']. Ověřili jsme, že požadavek přicházející s $_SERVER['REQUEST_METHOD'] superglobal je požadavek na příspěvek. Poté jsme bezpečně přiřadili data ze vstupu s názvem fname s hodnotou name do proměnné $name s $_POST superglobal pomocí funkce htmlspecialchars(). Zkontrolovali jsme, zda je proměnná $name prázdná nebo ne pomocí podmínky PHP if. Pokud je prázdný, vytiskneme výstup "Bez názvu", v opačném případě vypíšeme údaje proměnné $jméno.
Získávání dat z URL pomocí PHP $_GET Super Global
V níže uvedeném příkladu jsme získali data z adresy URL pomocí superglobalu PHP $_GET.
<!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>Ve výše uvedeném příkladu jsme místo psaní názvu souboru získali název souboru pomocí superglobal $_SERVER. Nyní si vysvětlíme, co jsme v tomto příkladu udělali. Vytvořili jsme HTML dokument a dali parametr name souboru get.php. Parametru názvu jsme přiřadili hodnotu „Onur Özden“ a parametry oddělili znaménkem „&“. Poté jsme vytvořili parametr webu a dali mu hodnotu „onurozden.com.tr“. Vytiskli jsme text "Click Here" na štítku A. V části PHP jsme vytiskli "Moje jméno" s echem a použili jsme superglobal $_GET s operátorem zřetězení k načtení a vytištění dat parametru s názvem name. Opět jsme pomocí operátoru sloučení vytiskli " a můj web ". Znovu jsme použili operátor zřetězení a získali data parametru webu s $GET superglobal a vytiskli je.
PHP Super Globals: $_SERVER
$_SERVER superglobal je superglobální proměnná PHP, která uchovává informace o hlavičkách, cestách a umístěních skriptů. V níže uvedeném příkladu si ukážeme, jak používat 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'];Ve výše uvedeném příkladu jsme definovali proměnné s názvem $číslo1 a $číslo2 a dali jim hodnoty typu číslo. Poté jsme definovali funkci s názvem add, která vrací hodnotu datového typu int. Řekli jsme, že v superglobálu $GLOBALS jsou názvy proměnných udržovány jako indexy. Proměnnou jsme vytvořili vytvořením indexu s názvem číslo3. Této proměnné jsme přiřadili součet proměnné $číslo2 a proměnné $číslo1, ke které jsme přistupovali z globální oblasti pomocí superglobálu $GLOBALS. Tuto hodnotu jsme pak vrátili s návratem a funkci ukončili. Jako poslední krok vypíšeme hodnotu v naší funkci add() s echo.
Všechna použití PHP $_SERVER Super Global
| $_SERVER['PHP_SELF'] | Vrátí název souboru spuštěného skriptu. |
| $_SERVER['GATEWAY_INTERFACE'] | Vrátí verzi CGI (Common Gateway Interface) používanou serverem. |
| $_SERVER['SERVER_ADDR'] | Vrátí IP adresu hostitelského serveru. |
| $_SERVER['SERVER_NAME'] | Vrátí název hlavního serveru. |
| $_SERVER['SERVER_SOFTWARE'] | Vrátí identifikační text serveru (například Apache/2.2.24). |
| $_SERVER['SERVER_PROTOCOL'] | Vrátí název a verzi informačního protokolu (například HTTP/1.1). |
| $_SERVER['REQUEST_METHOD'] | Vrátí metodu požadavku použitou pro přístup na stránku (například POST, GET). |
| $_SERVER['REQUEST_TIME'] | Vrátí časové razítko začátku požadavku (např. 1377687496). |
| $_SERVER['QUERY_STRING'] | Pokud je stránka přístupná prostřednictvím řetězce dotazu, vrátí řetězec dotazu. |
| $_SERVER['HTTP_ACCEPT'] | Vrátí hlavičku přijetí z aktuálního požadavku. |
| $_SERVER['HTTP_ACCEPT_CHARSET'] | Vrátí hlavičku Accept_Charset z aktuálního požadavku (například utf-8,ISO-8859-1). |
| $_SERVER['HTTP_HOST'] | Vrátí hlavičku hostitele z aktuálního požadavku. |
| $_SERVER['HTTP_REFERER'] | Vrátí úplnou adresu URL aktuální stránky (nespolehlivá, protože ji nepodporují všichni uživatelští agenti). |
| $_SERVER['HTTPS'] | Zkontroluje, zda je skript dotazován prostřednictvím zabezpečeného protokolu HTTP (HTTPS). |
| $_SERVER['REMOTE_ADDR'] | Vrátí IP adresu, ze které si uživatel prohlíží aktuální stránku. |
| $_SERVER['REMOTE_HOST'] | Vrátí název hostitele, ze kterého si uživatel prohlíží aktuální stránku. |
| $_SERVER['REMOTE_PORT'] | Vrátí port používaný na počítači uživatele ke komunikaci s webovým serverem. |
| $_SERVER['SCRIPT_FILENAME'] | Vrátí absolutní cestu aktuálně prováděného skriptu. |
| $_SERVER['SERVER_ADMIN'] | Vrátí hodnotu zadanou direktivě SERVER_ADMIN v konfiguračním souboru webového serveru (pokud váš skript běží na virtuálním hostiteli, bude to hodnota definovaná pro tohoto virtuálního hostitele) (například some@onurozden.com.tr). |
| $_SERVER['SERVER_PORT'] | Vrátí port na serveru používaném webovým serverem pro komunikaci (například 80). |
| $_SERVER['SERVER_SIGNATURE'] | Vrátí verzi serveru a název virtuálního hostitele přidané na stránku vygenerovanou serverem. |
| $_SERVER['PATH_TRANSLATED'] | Vrátí cestu k aktuálnímu skriptu založenou na systému souborů. |
| $_SERVER['SCRIPT_FILENAME'] | Vrátí cestu k aktuálnímu skriptu. |
| $_SERVER['SCRIPT_URI'] | Vrátí URI aktuální stránky. |



