Superglobals

Geschätzte Lektüre: 4 Minuten 364 Ansichten

Superglobale Variablen in PHP

VariableBeschreibungBeispiel/Inhalt
$GLOBALSEnthält alle globalen Variablen im Skript$GLOBALS[‚varname‘] → Zugriff auf globale Variablen
$_SERVEREnthält Server- und Ausführungsinformationen$_SERVER[‚PHP_SELF‘], $_SERVER[‚HTTP_USER_AGENT‘], $_SERVER[‚REMOTE_ADDR‘]
$_GETEnthält GET-Parameter (URL-Parameter)$_GET[‚id‘] → Wert von ?id=123
$_POSTEnthält POST-Daten (Formulardaten)$_POST[‚username‘] → Wert aus <input name=“username“>
$_FILESEnthält hochgeladene Dateien (Uploads)$_FILES[‚file‘][’name‘] → Name der hochgeladenen Datei
$_COOKIEEnthält HTTP-Cookies$_COOKIE[’session_id‘] → Wert des Cookies
$_SESSIONEnthält Session-Variablen (nach session_start())$_SESSION[‚user‘] → Benutzerdaten
$_REQUESTKombination aus $_GET, $_POST und $_COOKIE (nicht empfohlen)$_REQUEST[‚param‘] → Wert aus GET/POST/COOKIE
$_ENVEnthält Umgebungsvariablen (Server-Environment)$_ENV[‚DB_HOST‘] → Datenbank-Host

Wichtige $_SERVER Variablen

VariableBeschreibung
$_SERVER[‚PHP_SELF‘]Der Name des aktuellen Skripts (z. B. /index.php)
$_SERVER[‚SERVER_NAME‘]Der Servername (z. B. example.com)
$_SERVER[‚REQUEST_METHOD‘]Die HTTP-Anfragemethode (GET, POST, PUT, etc.)
$_SERVER[‚QUERY_STRING‘]Die Query-String-Parameter (alles nach ? in der URL)
$_SERVER[‚HTTP_REFERER‘]Die vorherige URL (kann gefälscht sein)
$_SERVER[‚HTTP_USER_AGENT‘]Der User-Agent des Browsers (z. B. Mozilla/5.0 …)
$_SERVER[‚REMOTE_ADDR‘]Die IP-Adresse des Clients
$_SERVER[‚SCRIPT_FILENAME‘]Der absolute Pfad des Skripts

Vordefinierte Konstanten in PHP

KonstanteBeschreibung
PHP_VERSIONDie aktuelle PHP-Version (z. B. 8.2.0)
PHP_OSDas Betriebssystem (z. B. Linux, WINNT)
PHP_EOLDas End-of-Line-Zeichen (\n, \r\n)
DIRECTORY_SEPARATORDer Verzeichnistrenner (/ oder \)
PATH_SEPARATORDer Pfadtrenner (: oder ;)
__FILE__Der vollständige Pfad und Name der aktuellen Datei
__DIR__Das Verzeichnis der aktuellen Datei
__LINE__Die aktuelle Zeilennummer im Skript
__FUNCTION__Der Name der aktuellen Funktion
__CLASS__Der Name der aktuellen Klasse
__METHOD__Der Name der aktuellen Methode (inkl. Klasse)
__NAMESPACE__Der aktuelle Namespace
TRUE / FALSEBoolean-Werte
NULLDer Null-Wert

Magic Constants (Besondere Konstanten)

KonstanteBeschreibung
__LINE__Aktuelle Zeilennummer im Skript
__FILE__Vollständiger Pfad und Dateiname
__DIR__Verzeichnis der Datei
__FUNCTION__Name der aktuellen Funktion
__CLASS__Name der aktuellen Klasse
__TRAIT__Name des aktuellen Traits
__METHOD__Name der aktuellen Methode (inkl. Klasse)
__NAMESPACE__Aktueller Namespace

Beispielhafte Nutzung

Superglobals:

// $_GET
$id = $_GET['id'] ?? 0; // Holt den Wert von ?id=123 oder setzt Default 0

// $_POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $username = $_POST['username'];
}

// $_SESSION
session_start();
$_SESSION['user_id'] = 123;  

Konstanten:

echo "PHP-Version: " . PHP_VERSION;
echo "Aktuelle Datei: " . __FILE__;

Häufig genutzte globale Arrays und Funktionen

NameTypVerwendung
get_defined_vars()FunktionGibt alle aktuell definierten Variablen zurück
get_defined_constants()FunktionGibt alle definierten Konstanten zurück als Array
getenv()FunktionLiest Umgebungsvariablen
define()FunktionDefiniert eine benutzerdefinierte Konstante

Typische Sicherheitsrisiken (Hinweis)

RisikoBeschreibung
Zugriff auf $_REQUESTKann manipuliert sein, da es POST, GET und COOKIE kombiniert
Datei-Uploads ($_FILES)Immer MIME-Typ und Größe prüfen sowie Pfad validieren
$_SERVER[‚PHP_SELF‘]Kann bei unsachgemäßer Verwendung zu XSS führen – besser mit htmlspecialchars()
Dieses Dokument teilen

Superglobals

Oder Link kopieren

INHALT

Abonnieren

×
Cancel