PHP globale variabelen - Hyperglobale variabelen
- Vorige pagina PHP Array Sortering
- Volgende pagina PHP Formulier Verwerking
Hyperglobale variabelen werden geïntroduceerd in PHP 4.1.0 en zijn altijd beschikbaar in de gehele scope.
PHP globale variabelen - Hyperglobale variabelen
Veel vooraf gedefinieerde variabelen in PHP zijn 'hyperglobaal', wat betekent dat ze in de gehele scope van een script beschikbaar zijn. Je hoeft geen global $variable; uit te voeren in functies of methoden om toegang te krijgen tot deze.
Deze hyperglobale variabelen zijn:
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
Deze sectie zal enkele hyperglobale variabelen introduceren en zal andere hyperglobale variabelen later bespreken.
$GLOBALS - Referentie naar alle variabelen beschikbaar in de globale scope
Deze globale variabele $GLOBALS wordt gebruikt om globale variabelen in elke locatie van een PHP-script te bereiken (ook van functies of methoden).
PHP slaat alle globale variabelen op in een array genaamd $GLOBALS[index]. De naam van de variabele is de sleutel van de array.
Dit voorbeeld toont hoe je de hyperglobale variabele $GLOBALS kunt gebruiken:
Voorbeeld
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>
In het bovenstaande voorbeeld kan z ook buiten de functie worden bereikt, omdat z een variabele is in de $GLOBALS-array.
PHP $_SERVER
Deze hyperglobale variabele $_SERVER bewaart informatie over headers, paden en scriptlocaties.
Dit voorbeeld toont hoe je bepaalde elementen van $_SERVER kunt gebruiken:
Voorbeeld
<?php echo $_SERVER['PHP_SELF']; echo $_SERVER['HTTP_REFERER']; echo $_SERVER['SERVER_NAME']; echo $_SERVER['HTTP_REFERER']; echo $_SERVER['PHP_SELF']; echo $_SERVER['HTTP_REFERER']; echo $_SERVER['SERVER_NAME']; echo $_SERVER['HTTP_REFERER']; echo $_SERVER['HTTP_HOST']; echo $_SERVER['HTTP_REFERER']; echo $_SERVER['HTTP_USER_AGENT']; ?>
echo "<br>";
echo $_SERVER['SCRIPT_NAME']; | De tabel hieronder lijst de belangrijkste elementen op die u kunt bereiken in $_SERVER: |
---|---|
Element/codering | Beschrijving |
$_SERVER['PHP_SELF'] | Geef de naam van het bestand terug waarop het huidige script wordt uitgevoerd. |
$_SERVER['GATEWAY_INTERFACE'] | Geef de versie van het CGI-protocol dat door de server wordt gebruikt terug. |
$_SERVER['SERVER_ADDR'] | Geef het IP-adres van de server waarop het huidige script draait terug. |
$_SERVER['SERVER_NAME'] | Geef de hostnaam van de server waarop het huidige script draait terug (bijvoorbeeld www.codew3c.com). |
$_SERVER['SERVER_SOFTWARE'] | Geef de serveridentificatiesstring terug (bijvoorbeeld Apache/2.2.24). |
$_SERVER['SERVER_PROTOCOL'] | Geef de naam en versie van het communicatieprotocol van de aanvraag terug bij het bezoeken van de pagina (bijvoorbeeld 'HTTP/1.0'). |
$_SERVER['REQUEST_TIME'] | Geef de timestamp van het begin van de aanvraag terug (bijvoorbeeld 1577687494). |
$_SERVER['QUERY_STRING'] | Geef de query string terug als deze pagina via de query string wordt bereikt. |
$_SERVER['HTTP_ACCEPT'] | Geef de aanvraagkop van de huidige aanvraag terug. |
$_SERVER['HTTP_ACCEPT_CHARSET'] | Geef de Accept_Charset-koptekst terug van de huidige aanvraag (bijvoorbeeld utf-8, ISO-8859-1). |
$_SERVER['HTTP_HOST'] | Geef de Host-koptekst terug van de huidige aanvraag. |
$_SERVER['HTTP_REFERER'] | Geef de volledige URL van de huidige pagina terug (niet betrouwbaar, omdat niet alle gebruikersagenten dit ondersteunen). |
$_SERVER['HTTPS'] | Of welk veilig HTTP protocol wordt de script geraadpleegd? |
$_SERVER['REMOTE_ADDR'] | Geef het IP-adres van de gebruiker die de huidige pagina bekijkt terug. |
$_SERVER['REMOTE_HOST'] | Geef de naam van de host van de gebruiker die de huidige pagina bekijkt terug. |
$_SERVER['REMOTE_PORT'] | Geef de poort terug die door de gebruiker op de computer wordt gebruikt om verbinding te maken met de webserver. |
$_SERVER['SCRIPT_FILENAME'] | Geef het absolute pad van het huidige uitvoerende script terug. |
$_SERVER['SERVER_ADMIN'] | Deze waarde geeft aan welk SERVER_ADMIN parameter in het Apache-serverconfiguratiebestand is ingesteld. |
$_SERVER['SERVER_PORT'] | De poort die door de webserver wordt gebruikt. De standaardwaarde is "80". |
$_SERVER['SERVER_SIGNATURE'] | Geef de serverversie en de naam van de virtuele host terug. |
$_SERVER['PATH_TRANSLATED'] | De basispad van het bestandssysteem waarin het huidige script zich bevindt (niet het documentroot-pad). |
$_SERVER['SCRIPT_NAME'] | Geef het pad van de huidige script terug. |
$_SERVER['SCRIPT_URI'] | Geef de URI van de huidige pagina terug. |
PHP $_REQUEST
PHP $_REQUEST wordt gebruikt om de gegevens van een HTML-formulier in te dienen.
Dit voorbeeld toont een formulier dat bestaat uit invoervelden en een submit-knop. Wanneer de gebruiker door op de submit-knop te klikken de formuliergegevens indient, worden de formuliergegevens naar het script gestuurd dat wordt gespecificeerd in de action-eigenschap van de <form>-tag. In dit voorbeeld specificeren we het bestand zelf om de formuliergegevens te verwerken. Als je een andere PHP-bestand wilt gebruiken om de formuliergegevens te verwerken, wijzig dan het bestand in de naam van je keuze. Vervolgens kunnen we de superglobale variabele $_REQUEST gebruiken om de waarden van de input-velden te verzamelen:
Voorbeeld
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Naam: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_REQUEST['fname']; echo $name; ?> </body> </html>
PHP $_POST
PHP $_POST wordt veel gebruikt om de gegevens van een HTML-formulier dat de submit-methode "post" gebruikt te verzamelen. $_POST wordt ook vaak gebruikt om variabelen door te geven.
Dit voorbeeld toont een formulier dat bestaat uit invoervelden en een submit-knop. Wanneer de gebruiker op de submit-knop klikt om de gegevens in te dienen, worden de formuliergegevens naar het bestand gestuurd dat wordt gespecificeerd in de action-eigenschap van de <form>-tag. In dit voorbeeld specificeren we het bestand zelf om de formuliergegevens te verwerken. Als je een andere PHP-pagina wilt gebruiken om de formuliergegevens te verwerken, verander dan het bestand in de naam van je keuze. Vervolgens kunnen we de superglobale variabele $_POST gebruiken om de waarden van de invoervelden te verzamelen:
Voorbeeld
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Naam: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_POST['fname']; echo $name; ?> </body> </html>
PHP $_GET
PHP $_GET kan ook worden gebruikt om de gegevens van een HTML-formulier (method="get") in te zamelen na het indienen.
$_GET kan ook de gegevens verzenden die in de URL zijn opgegeven.
Stel dat we een pagina hebben met hyperlinks met parameters:
<html> <body> <a href="test_get.php?subject=PHP&web=codew3c.com">Test $GET</a> </body> </html>
Wanneer de gebruiker klikt op de link "Test $GET", worden de parameters "subject" en "web" naar "test_get.php" verzonden, waarna je deze waarden kunt verkrijgen via $_GET in "test_get.php".
Het volgende voorbeeld is de code uit "test_get.php":
Voorbeeld
<html> <body> <?php echo "In " . $_GET['web'] . " leer je " . $_GET['subject']; ?> </body> </html>
Tip:Je zult PHP Formulieren In deze sectie leer je meer over $_POST en $_GET.
- Vorige pagina PHP Array Sortering
- Volgende pagina PHP Formulier Verwerking