Funktionen in und von PHP

Bevor wir zu den Funktionen selbst übergehen noch eine Information zu vordefinierten Variablen in PHP.

PHP bietet folgende vordefinierte Variablen an:
$_SERVER - ist ein Array, in dem Informationen über Header, Pfade oder den Speicherort des Skripts gespeichert sind. Die Einträge dieses Arrays werden vom Webserver generiert.
folgende Werte sind unter anderem in dieser Variable enthalten:
PHP_SELF - Der Name des aktuell ausgeführten Skripts, relativ zum Wurzelverzeichnis des Servers.
SERVER_NAME - Der Name des Server Hosts unter dem das aktuelle Skript ausgeführt wird. Falls das Skript unter einem virtuellen Host läuft, wird der Name, der für diesen virtuellen Host vergeben wurde, angezeigt.
HTTP_USER_AGENT - Der Inhalt des User_Agent:-Headers der aktuellen Anforderung, so vorhanden. Dies ist ein String, der den Typ und Namen des Browsers angibt, der auf die Seite zugreift.
REMOTE_ADDR - Die IP-Adresse des Rechners, der die aktuelle Seite angefordert hat.

weitere vordefinierte Variable sind unter anderem:
$_GET, $_POST, $_COOKIE, $_FILES, und weitere

Diese vordefinierten Variablen stehen auf jedem Server, egal ob der Webspace mit oder auch ohne PHP ist, zur Verfügung. Die gesamten Serverstatistiken beruhen auf diesen Variablen.

Wenn also jemand auf seiner Homepage den Browser des USER (Besucher), das verwendete Betriebssystem von ihm und die IP-Adresse von ihm anzeigt, dann liegt die Begründung in diesen Variablen. Zum Anzeigen bedarf es allerdings Webspace mit PHP.

Doch nun zu den ersten Funktionen. Da suchen wir als erstes einmal die IP-Adresse von Dir, was ganz einfach geht:

<?php
$user_ip_adresse = getenv("REMOTE_ADDR");// oder
$user_ip_adresse2 = $_SERVER['REMOTE_ADDR'];
echo "Deine IP-Adresse: $user_ip_adresse<br>\n";
echo "Deine IP-Adresse 2: $user_ip_adresse2<br>\n";
?>

Ausgabe:
  Deine IP-Adresse: 3.145.156.46
  Deine IP-Adresse 2: 3.145.156.46
Außerdem möglich mit PHP:
  Dein Browser: like gecko
  Browserversion:

Als erstes legst Du also eine Variable an, deren Namen sich auf das Resultat bezieht. Den Wert zur IP-Adresse suchst Du über "getenv", was die Umgebungsvariablen zum Wert in der Klammer bestimmt, was hier "REMOTE_ADDR" ist, also die IP-Adresse des anfordernden Rechners. Ausgegeben wird dann die Variable zum Beispiel wieder über die ECHO-Anweisung.

Auch das Abfragen des verwendeten Browser ist für das Programmieren günstig - gerade wenn man JavaScript und andere Programmierungen nicht unbedingt beherrscht um zum Beispiel andere Werte für Internet Explorer und Firefox nebst Opera zu bestimmen.

Ein solches Script könnte so aussehen:
<?php
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE"))
  {
    echo "Gratuliere, Du verwendest den Internet Explorer von Microsoft.<br>\n";
  }
else
  {
    echo "Schade, warum verwendest Du nicht den Internet Explorer von Microsoft?<br>\n";
  }
?>
was Folgendes ausgibt (zu Deinem verwendeten Browser):
Schade, warum verwendest Du nicht den Internet Explorer von Microsoft?
Wobei es mit persönlich egal ist, ob Du den Internet Explorer oder einen anderen Browser verwendest - das solltest Du schon selbst entscheiden.

Zur Erläuterung:
In der IF-Schleife suchst Du mit "strstr" im Suchwert bzw. -string (erster Klammerwert) nach einem Wert bzw. String (zweiter Klammerwert nach dem Komma), also suchen wir im String "$_SERVER["HTTP_USER_AGENT"]" nach dem bestimmten Wert (String) "MSIE". Ist der bestimmte Wert "MSIE" im String vorhanden, dann ist die Abfrage wahr (TRUE) und gibt diese Schleife aus. Anderenfalls natürlich den ELSE-Zweig (FALSE - nicht wahr).

Übrigens kannst Du diese Abfrage für die Suche nach allen Browsern oder auch für die Suche des verwendeten Betriebssystems verwenden - musst halt nur den zweiten Wert (String) anpassen und die Abfragen erweitern und/oder umstellen.

Und damit surfst Du im Moment - Browser: , Betriebssystem:

Eine weitere nützliche Funktion ist folgende:
<?php
function inhalt_check($var_name)
  {
    if(!isset($_GET[$var_name]))
      {
        return ("");
      }
    else
      {
        return (trim(urldecode($_GET[$var_name])));
      }
  }
$inhalt = inhalt_check("inhalt");
?>
Als erstes wird wieder eine Funktion (function) mit einem Namen erstellt, dieses Mal der Name inhalt_check, weil wir nach dem Inhalt der URL ausschauen. Die Variable in der Klammer wird zum Suchen benötigt, was Du dann mit der Variablen Inhalt ($inhalt) in der URL suchst.
Wird jetzt die zu suchende Variable mit isset ($_GET) gefunden, dann ist alles OK und der Wert der Variablen steht zur Verfügung. Wenn nicht, dann wird über den ELSE-Zweig versucht, den Wert von unnötigen Zeichen zu befreien um den Wert selbst zu finden.
Schlägt auch dieses fehl, dann bleibt die gesuchte Variable leer - also ohne Wert.
Mit "$inhalt = inhalt_check("inhalt");" rufst Du die Funktion selbst über die Variable $inhalt auf. Innerhalb der Anführungszeichen in der Klammer gibst Du den zu suchenden Wert an (rot geschrieben).
Wenn die URL in der Browseradressleiste wie folgt aussieht: "http://www.meine-homepage.de/kontakt.php?inhalt=email", dann wird die ECHO-Anweisung (echo "Inhalt der Variablen: $inhalt<br>\n";), welche folgendes ausgibt:
Inhalt der Variablen: email

Sollte jetzt die URL nur http://www.meine-homepage.de/kontakt.php lauten, dann gibt die ECHO-Anweisung nur folgendes aus:
Inhalt der Variablen:
Die Variable $inhalt ist also leer (ohne Wert)!

Und genau dies (und noch einiges mehr) werden wir später auf der Seite zum E-Mail Versand benötigen.