PHP super globals zijn ingebouwde variabelen die vanuit alle scopes toegankelijk zijn.
PHP Super Globals (PHP Super Globals)
In deze les leggen we alle superglobalen in PHP uit met voorbeelden. Lees verder om erachter te komen.
PHP Super Globals: $GLOBALS
De $GLOBALS superglobal wordt gebruikt om toegang te krijgen tot globale variabelen vanuit elk veld (inclusief functies of methoden) in het PHP-script. PHP slaat alle globale variabelen op in een array genaamd $GLOBALS[index]. De index bevat de naam van de variabele. In het volgende voorbeeld ziet u hoe u de superglobal variabele $GLOBALS gebruikt:
$number1 = 50;
$number2 = 20;
function addition(): int
{
return $GLOBALS[ 'number3' ] = $GLOBALS[ 'number2' ] + $GLOBALS[ 'number1' ];
}
echo addition();
// Çıktı: 70PHP Super Globals: $_REQUEST
PHP $_REQUEST is PHP superglobal dat wordt gebruikt om gegevens uit het HTML-formulier te verzamelen.
<!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>In het bovenstaande voorbeeld hebben we een formulier gemaakt dat gegevens retourneert met de post-methode. We hebben het mogelijk gemaakt om de gegevens op dezelfde pagina te retourneren met $_SERVER['PHP_SELF']. We hebben geverifieerd dat het verzoek dat bij de superglobal $_SERVER['REQUEST_METHOD'] hoort, een postverzoek is. Vervolgens hebben we de gegevens uit de invoer genaamd fname met de naamwaarde veilig toegewezen aan de $name variabele met de $_REQUEST superglobal met behulp van de htmlspecialchars() functie. We hebben gecontroleerd of de variabele $name leeg is of niet met de PHP if-voorwaarde. Als het leeg is, printen we de uitvoer "Geen naam", anders printen we de gegevens van de variabele $name.
PHP Super Globals: $_POST
PHP $_POST is een PHP-superglobal die wordt gebruikt om gegevens uit het HTML-formulier te verzamelen via de POST-methode.
<!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>In het bovenstaande voorbeeld hebben we een formulier gemaakt dat gegevens retourneert met de post-methode. We hebben het mogelijk gemaakt om de gegevens op dezelfde pagina te retourneren met $_SERVER['PHP_SELF']. We hebben geverifieerd dat het verzoek dat bij de superglobal $_SERVER['REQUEST_METHOD'] hoort, een postverzoek is. Vervolgens hebben we de gegevens uit de invoer genaamd fname met de naamwaarde veilig toegewezen aan de $name variabele met de $_POST superglobal met behulp van de htmlspecialchars() functie. We hebben gecontroleerd of de variabele $name leeg is of niet met de PHP if-voorwaarde. Als het leeg is, printen we de uitvoer "Geen naam", anders printen we de gegevens van de variabele $name.
PHP Super Globals: $_GET
PHP $_GET is een PHP-superglobal die wordt gebruikt om gegevens uit het HTML-formulier te verzamelen via de GET-methode. We kunnen ook de gegevens ophalen die zijn verzonden met get in de url met de $_GET superglobal.
Gegevens uit formulier halen met PHP $_GET Super Global
In het onderstaande voorbeeld hebben we gegevens ontvangen van het HTML-formulier met de 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>In het bovenstaande voorbeeld hebben we een formulier gemaakt dat gegevens retourneert met de post-methode. We hebben het mogelijk gemaakt om de gegevens op dezelfde pagina te retourneren met $_SERVER['PHP_SELF']. We hebben geverifieerd dat het verzoek dat bij de superglobal $_SERVER['REQUEST_METHOD'] hoort, een postverzoek is. Vervolgens hebben we de gegevens uit de invoer genaamd fname met de naamwaarde veilig toegewezen aan de $name variabele met de $_POST superglobal met behulp van de htmlspecialchars() functie. We hebben gecontroleerd of de variabele $name leeg is of niet met de PHP if-voorwaarde. Als het leeg is, printen we de uitvoer "Geen naam", anders printen we de gegevens van de variabele $name.
Gegevens ophalen uit de URL met PHP $_GET Super Global
In het onderstaande voorbeeld hebben we gegevens opgehaald uit de URL met de 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>In het bovenstaande voorbeeld hebben we, in plaats van uw bestandsnaam te typen, de bestandsnaam gekregen met behulp van de $_SERVER superglobal. Laten we nu uitleggen wat we in dit voorbeeld hebben gedaan. We hebben een HTML-document gemaakt en de naamparameter aan het get.php-bestand gegeven. We hebben de naamparameter de waarde "Onur Özden" gegeven en de parameters gescheiden met het '&'-teken. Daarna hebben we de websiteparameter aangemaakt en deze de waarde "onurozden.com.tr" gegeven. We hebben de tekst "Klik hier" op label A afgedrukt. Toen we bij het PHP-gedeelte kwamen, hebben we "Mijn naam" met echo afgedrukt en de $_GET superglobal met de concatenatieoperator gebruikt om de gegevens van de parameter met de naam naam op te halen en af te drukken. Nogmaals, met behulp van de merge-operator hebben we " en mijn website " afgedrukt. We gebruikten opnieuw de concatenatie-operator en haalden de gegevens van de websiteparameter op met de $GET superglobal en drukten deze af.
PHP Super Globals: $_SERVER
De $_SERVER superglobal is een PHP superglobal variabele die informatie bevat over headers, paden en scriptlocaties. In het onderstaande voorbeeld laten we zien hoe u het $_SERVER superglobal.
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'];In het bovenstaande voorbeeld hebben we variabelen met de namen $number1 en $number2 gedefinieerd en deze waarden van het type nummer gegeven. Vervolgens hebben we een functie gedefinieerd met de naam toevoeging, die een waarde van het gegevenstype int retourneert. We hebben gezegd dat in de superglobal $GLOBALS de namen van de variabelen als indexen worden bewaard. We hebben de variabele gemaakt door een index met de naam nummer3 te maken. We hebben aan deze variabele de som van de $number2 variabele en de $number1 variabele toegewezen, die we benaderden vanuit het globale gebied met de $GLOBALS superglobal. Vervolgens hebben we deze waarde geretourneerd met return en de functie beëindigd. Als laatste stap voeren we de waarde uit in onze functie add() met echo.
Alle toepassingen van PHP $_SERVER Super Global
| $_SERVER['PHP_SELF'] | Retourneert de bestandsnaam van het uitgevoerde script. |
| $_SERVER['GATEWAY_INTERFACE'] | Retourneert de CGI-versie (Common Gateway Interface) die door de server wordt gebruikt. |
| $_SERVER['SERVER_ADDR'] | Retourneert het IP-adres van de hostserver. |
| $_SERVER['SERVER_NAME'] | Retourneert de naam van de hoofdserver. |
| $_SERVER['SERVER_SOFTWARE'] | Retourneert de serveridentificatietekst (zoals Apache/2.2.24). |
| $_SERVER['SERVER_PROTOCOL'] | Retourneert de naam en versie van het informatieprotocol (zoals HTTP/1.1). |
| $_SERVER['REQUEST_METHOD'] | Retourneert de verzoekmethode die wordt gebruikt om toegang te krijgen tot de pagina (zoals POST, GET). |
| $_SERVER['REQUEST_TIME'] | Retourneert de tijdstempel van het begin van het verzoek (bijvoorbeeld 1377687496). |
| $_SERVER['QUERY_STRING'] | Als de pagina wordt geopend via een queryreeks, wordt de queryreeks geretourneerd. |
| $_SERVER['HTTP_ACCEPT'] | Retourneert de accept-header van het huidige verzoek. |
| $_SERVER['HTTP_ACCEPT_CHARSET'] | Retourneert de Accept_Charset-header van het huidige verzoek (zoals utf-8,ISO-8859-1). |
| $_SERVER['HTTP_HOST'] | Retourneert de hostheader van het huidige verzoek. |
| $_SERVER['HTTP_REFERER'] | Retourneert de volledige URL van de huidige pagina (niet betrouwbaar omdat niet alle user agents dit ondersteunen). |
| $_SERVER['HTTPS'] | Controleert of het script wordt opgevraagd via een beveiligd HTTP-protocol (HTTPS). |
| $_SERVER['REMOTE_ADDR'] | Retourneert het IP-adres vanwaar de gebruiker de huidige pagina bekijkt. |
| $_SERVER['REMOTE_HOST'] | Retourneert de hostnaam vanwaar de gebruiker de huidige pagina bekijkt. |
| $_SERVER['REMOTE_PORT'] | Retourneert de poort die op de computer van de gebruiker wordt gebruikt om met de webserver te communiceren. |
| $_SERVER['SCRIPT_FILENAME'] | Retourneert het absolute pad van het momenteel uitgevoerde script. |
| $_SERVER['SERVER_ADMIN'] | Retourneert de waarde die is gegeven aan de instructie SERVER_ADMIN in het configuratiebestand van de webserver (als uw script op een virtuele host draait, zal dit de waarde zijn die voor die virtuele host is gedefinieerd) (zoals some@onurozden.com.tr). |
| $_SERVER['SERVER_PORT'] | Retourneert de poort op de servermachine die door de webserver wordt gebruikt voor communicatie (zoals 80). |
| $_SERVER['SERVER_SIGNATURE'] | Retourneert de serverversie en virtuele hostnaam die zijn toegevoegd aan de door de server gegenereerde pagina. |
| $_SERVER['PATH_TRANSLATED'] | Retourneert het op het bestandssysteem gebaseerde pad naar het huidige script. |
| $_SERVER['SCRIPT_FILENAME'] | Retourneert het pad naar het huidige script. |
| $_SERVER['SCRIPT_URI'] | Retourneert de URI van de huidige pagina. |



