PHP - Grundlagen - Arrays - Globale Arrays
1. Grundlagen
Neben den Arrays, die wir selber definieren können, stellt uns PHP noch ein paar globale (oft auch als superglobale bezeichnete) Arrays zur Verfügung, auf die wir jederzeit zugreifen können. Ich werde euch hier nur ein paar von denen vorstellen und auch nicht in allen Details.
2. $_SERVER
Liefert uns "systemnahe" Auskünfte über den Server und den Client des Betrachters sowie einige zusätzliche Funktionalitäten.
Allerdings kann es Einschränkungen durch die Konfiguration des Webservers geben. Alle folgenden Varianten werden so geschrieben:
$_SERVER[variante]
.
Serverausgaben
DOCUMENT_ROOT
Wurzelverzeichnis der DomainPHP_SELF
Ruft die aktuelle Seite noch einmal auf. Ist sehr nützlich und auch gefährlich.SCRIPT_FILENAME
Pfad und Name der aktuellen PHP-DateiSERVER_ADDR
gibt die IP-Adresse des Servers wiederSERVER_NAME
gibt den Namen des Servers wiederSERVER_PROTOCOL
Angabe der Versionsnummer des HTTP-ProtokollsSERVER_PORT
Standardport für das HTTP-Protokoll
Clientausgaben
REMOTE_ADDR
gibt die IP-Adresse des Clients wiederHTTP_USER_AGENT
gibt den Browser des Clients wieder
WARNUNG! Diese Angaben müssen nicht den Tatsachen entsprechen. Sitzen zum Beispiel 10 Personen hinter derselben Firewall, so wird für alle dieselbe IP angegeben.
Beispiele
<?php
$_SERVER['SERVER_ADDR']
$_SERVER['PHP_SELF']
$_SERVER['REMOTE_ADDR']
?>
3. $_POST
Enthält alle Inhalte eines Formulars, das mit method="post"
versendet wurde. Der Index ergibt sich dann (bis auf zwei
Ausnahmen) aus dem Wert des jeweiligen name
-Attributs.
4. $_GET
Enthält alle Inhalte eines Formulars, das mit method="get"
versendet wurde, oder listet die Parameter einer URL
auf, also zum Beispiel;
<?php
// blubb.php
<a href="bla.php?id=1&blubb=blubber">
// bla.php
echo $_GET['id']; // Gibt 1 aus
echo $_GET['blubb']; // Gibt blubber aus
?>
5. $_SESSION
Speichert alle Inhalte, die in eine Session geschrieben werden.
6. $_COOKIE
Speichert alle Inhalte, die in ein Cookie geschrieben werden.
7. Testausgabe
Sollte es beim Einsatz von Arrays zu Problemen oder Fehlern kommen, hilft eine einfache Ausgabe sehr schnell weiter,
print_r(...)
.
<?php
print_r ($arrayname);
print_r ($_SERVER);
print_r ($_POST);
print_r ($_GET);
print_r ($_SESSION);
?>
Damit wird der komplette Inhalt inklusive aller Indizes ausgegeben. Ein wirklich sehr praktischer Befehl, der das Programmieren wirklich erleichtert.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt