PHP Globala variabler - Hyperglobala variabler
- Föregående sida PHP Array sorter
- Nästa sida PHP Formulärbehandling
Hyperglobala variabler introducerades i PHP 4.1.0 och är inbyggda variabler som alltid är tillgängliga i hela scopet.
PHP Globala variabler - Hyperglobala variabler
Många fördefinierade variabler i PHP är "hyperglobala", vilket innebär att de är tillgängliga i hela skriptets omfattning. Det är inte nödvändigt att köra global $variable; för att komma åt dem i funktioner eller metoder.
Dessa hyperglobala variabler är:
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
Denna sektion kommer att presentera några hyperglobala variabler och kommer att förklara andra hyperglobala variabler i senare kapitel.
$GLOBALS — En referens till alla tillgängliga variabler i den globala scopen
Den globala variabeln $GLOBALS används för att komma åt globala variabler i PHP-skriptet (från funktioner eller metoder).
PHP lagrar alla globala variabler i en array som heter $GLOBALS[index]. Variabelns namn är arrayens nyckel.
Följande exempel visar hur man använder den hyperglobala variabeln $GLOBALS:
Exempel
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>
I det föregående exemplet, eftersom z är en variabel i $GLOBALS-arrayen, kan den också nås utanför funktionen.
PHP $_SERVER
Den hyperglobala variabeln $_SERVER sparar information om rubriker, sökvägar och skriptplaceringar.
Följande exempel visar hur man använder vissa element i $_SERVER:
Exempel
<?php 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']; ?>
Nedan listas de viktigaste element som du kan komma åt i $_SERVER:
Element/kod | Beskrivning |
---|---|
$_SERVER['PHP_SELF'] | Returnerar namnet på filen som körs skriptet. |
$_SERVER['GATEWAY_INTERFACE'] | Returnerar versionen av CGI-standard som servern använder. |
$_SERVER['SERVER_ADDR'] | Returnerar IP-adressen till den server där skriptet körs. |
$_SERVER['SERVER_NAME'] | Returnerar serverns värdnamn där skriptet körs (t.ex. www.codew3c.com). |
$_SERVER['SERVER_SOFTWARE'] | Returnerar serverns identifieringssträng (t.ex. Apache/2.2.24). |
$_SERVER['SERVER_PROTOCOL'] | Returnerar namnet och versionen på det kommunikationsprotokoll som används av servern (t.ex. HTTP/1.0). |
$_SERVER['REQUEST_METHOD'] | Returnerar namnet och versionen på kommunikationsprotokollet som användes för att anropa sidan (t.ex. POST). |
$_SERVER['REQUEST_TIME'] | Returnerar tidsstämpeln vid början av förfrågan (t.ex. 1577687494). |
$_SERVER['QUERY_STRING'] | Returnerar frågesträngen, om sidan nås via en frågesträng. |
$_SERVER['HTTP_ACCEPT'] | Returnerar alla förfrågningshuvuden från den aktuella förfrågan. |
$_SERVER['HTTP_ACCEPT_CHARSET'] | Returnerar Accept_Charset-huvudet från den aktuella förfrågan (t.ex. utf-8, ISO-8859-1) |
$_SERVER['HTTP_HOST'] | Returnerar Host-huvudet från den aktuella förfrågan. |
$_SERVER['HTTP_REFERER'] | Returnerar den fullständiga URL:en för den aktuella sidan (pålitlöst, eftersom inte alla användaragenter stöder det). |
$_SERVER['HTTPS'] | Kontrollerar om skriptet anropas via säker HTTP-protokoll. |
$_SERVER['REMOTE_ADDR'] | Returnerar IP-adressen för användaren som visar den aktuella sidan. |
$_SERVER['REMOTE_HOST'] | Returnerar värdnamnet för användaren som visar den aktuella sidan. |
$_SERVER['REMOTE_PORT'] | Returnerar portnumret som används av användarens maskin för att ansluta till webbservern. |
$_SERVER['SCRIPT_FILENAME'] | Returnerar den absoluta sökvägen till det aktuella skriptet. |
$_SERVER['SERVER_ADMIN'] | Detta värde specificerar SERVER_ADMIN-parametern i Apache-serverns konfigurationsfil. |
$_SERVER['SERVER_PORT'] | Porten som webbservern använder. Standardvärdet är "80". |
$_SERVER['SERVER_SIGNATURE'] | Returnerar serverns version och virtuella värdnamn. |
$_SERVER['PATH_TRANSLATED'] | Det grundläggande sökvägsbaserat på filsystemet där det aktuella skriptet finns (inte dokumentroot-katalogen). |
$_SERVER['SCRIPT_NAME'] | Returnerar sökvägen till det aktuella skriptet. |
$_SERVER['SCRIPT_URI'] | Returnerar URI:n för den aktuella sidan. |
PHP $_REQUEST
PHP $_REQUEST används för att samla in data från HTML-formulär som skickats.
Detta exempel visar en form som innehåller inmatningsfält och en submit-knapp. När användaren genom att klicka på submit-knappen skickar formulardata, skickas formulardata till skriptfilen som specificerats i action-attributet för <form>-taggen. I detta exempel specificerar vi filen själv för att hantera formulardata. Om du behöver använda en annan PHP-fil för att hantera formulardata, ändra till det valda filnamnet. Därefter kan vi använda den superglobala variabeln $_REQUEST för att samla in värdena från input-fälten:
Exempel
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Namn: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_REQUEST['fname']; echo $name; ?> </body> </html>
PHP $_POST
PHP $_POST används广泛 för att samla in formulardata efter att en HTML-form med method="post" har skickats. $_POST används också ofta för att överföra variabler.
Detta exempel visar en form som innehåller inmatningsfält och en submit-knapp. När användaren klickar på submit-knappen för att skicka data, skickas formulardata till filen som specificerats i action-attributet för <form>-taggen. I detta exempel specificerar vi filen själv för att hantera formulardata. Om du vill använda en annan PHP-sida för att hantera formulardata, ändra till det valda filnamnet. Därefter kan vi använda den globala variabeln $_POST för att samla in värdena från inmatningsfälten:
Exempel
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Namn: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_POST['fname']; echo $name; ?> </body> </html>
PHP $_GET
PHP $_GET kan också användas för att samla in formulärdata som skickas efter HTML-formulär (method="get").
$_GET kan också samla in data som skickas via URL.
Anta att vi har en sida som innehåller hyperlänkar med parametrar:
<html> <body> <a href="test_get.php?subject=PHP&web=codew3c.com">Testa $GET</a> </body> </html>
När användaren klickar på länken "Testa $GET", skickas parametrarna "subject" och "web" till "test_get.php", och du kan sedan komma åt dessa värden via $_GET i "test_get.php".
Följande exempel är kod från "test_get.php":
Exempel
<html> <body> <?php echo "Lär dig om " . $_GET['web'] . " i " . $_GET['subject']; ?> </body> </html>
Tips:Du kommer att PHP Formulär Lär dig mer om $_POST och $_GET i detta avsnitt.
- Föregående sida PHP Array sorter
- Nästa sida PHP Formulärbehandling