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

PHP 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.