PHP („PHP: Hypertext Preprocessor“) ist eine Scriptsprache, die direkt in den Quelltext der HTML-Seite eingearbeitet wird. Die HTML-Datei endet aber in diesem Fall nicht mit der Endung .html, sondern mit der Endung .php3 oder .php4. Der Server muß die Sprache verstehen, es muß also das entsprechende Modul (mod_php) geladen sein. Trifft der Server jetzt auf eine Datei mit dieser Endung, so durchsucht er die Datei, führt die enthaltenen Scripte aus und ersetzt sie durch das, was sie ausgeben. Erst nach dieser Ersetzung wird das Ergebnis an den Client weitergeleitet.

Die Sprache PHP ist syntaktisch sehr eng an Perl und C gehalten, so dass Programmierer wenig Schwierigkeiten haben sollten, sofort mit ihr zu arbeiten. Die Sprache hier komplett darzustellen würde den Rahmen dieser Dokumentation jedoch sprengen, es sei hier ausdrücklich auf die sehr gute PHP Dokumentation verwiesen, die den meisten Distributionen beiliegt.

Um die wichtigsten Grundschritte darzustellen folgen hier ein paar Beispiele, die den wesentlichen Aufbau klar machen sollen.


Ein simples Hallo Welt Programm

Das folgende Programm gibt die Worte „Hallo Welt“ auf einer Webseite aus. Es hat noch nichts dynamisches, aber es soll ja auch nur darstellen, wie es funktioniert…

  <TITLE>Hallo Welt</TITLE>
  <BODY bgcolor=white>
  <h3>Das ist statisch</h3>
  <?
    echo "<H1>Hallo Welt, ganz dynamisch</H1>";
  ?>
  <h3>Und wieder statisch</h3>
  </BODY>

und so siehts aus…


Das entscheidende an diesem Beispiel ist, dass man daran sehen kann, dass PHP-Code direkt in die HTML-Seite integriert wird. Eingeschlossen in <? und ?> Klammerung steht es einfach im Text. Alle Ausgaben des Scripts werden an genau der Stelle im Text ausgegeben, an der das Script steht. Der Server führt das Script aus und erstellt damit die Seite, die er dann dem Client schickt.

Wir zählen auf 10 und geben Quadrate aus

Das nächste Programm tut schon etwas dynamischeres. Es zählt auf 10 und gibt von jeder Zahl das Quadrat aus. Um ein gefälligeres Äußeres zu erhalten plazieren wir das Ganze noch in einer Tabelle:

  <TITLE>Quadrate</TITLE> 
  <BODY bgcolor=white>

  <H1>Quadratzahlen</H1>
  <TABLE border=1 cellpadding=5>
  <TR><TH>Zahl</TH><TH>Quadrat</TH></TR>

  <?
    for ($zahl=1;$zahl<=10;++$zahl){
      $quadrat=$zahl*$zahl;
      echo "<TR><TD align=center>$zahl</TD><TD align=center>$quadrat</TD></TR>\n";
    }
  ?>

  </TABLE>

und so siehts aus…


Auch hier ist das Script wieder mitten im HTML-Text angesiedelt. Um das Ganze auf die Spitze zu treiben, ist das Script hier Teil einer Tabellendefinition. Der Anfang der Tabelle und deren erste Zeile ist noch simples HTML. Das Ende der Tabelle ist auch wieder einfaches klar geschriebenes HTML. Der Inhalt der Tabelle jedoch wird durch ein Script erstellt.

Die for-Schleife zählt eine Variable $zahl vom Startwert ($zahl=1) bis zum Erreichen der Abbruchbedingung ($zahl<=10) in Einzelschritten (++$zahl). In jedem Schleifendurchgang hat die Variable $zahl den jeweiligen Wert, im ersten also 1 und im letzten 10.

In jedem Durchgang wird dann eine Variable $quadrat errechnet, mit der Formel $quadrat=$zahl*$zahl. Anschließend geben wir mit dem echo-Befehl eine HTML-Tabellenzeile aus, die wiederum mit den Variablen gefüllt ist. Fertig ist die Tabelle.

Ein einfacher Zähler mit PHP

PHP ist eine mächtige Programmiersprache, die natürlich auch Dateien auf dem Server anlegen, schreiben und lesen kann. Was also liegt näher als mit der Sprache einen Zähler zu programmieren:

  <TITLE>Die Seite zählt sich</TITLE>
  <BODY bgcolor=white>
  <h1>Die Seite zählt</h1>

  <?
  // Variablendeklaration Dateiname der Zählerdatei
  // Achtung! Das Verzeichnis muß vom Webuser beschreibbar sein.
  $FILENAME="./count/counter.txt";

  // Wenn die Zählerdatei nicht existiert legen wir sie an
  // und schreiben eine Null hinein.

  if (!file_exists($FILENAME)){
    $fp=fopen($FILENAME,"w");
    if($fp){
      fputs($fp,"0");
      fclose($fp);
    }
  } 

  // Die Zählerdatei wird geöffnet und wir lesen die Zahl

  $fp=fopen($FILENAME,"r");
  if($fp){
    $zahl=fgets($fp,20);
    fclose($fp);
  }

  // Die gelesene Zahl wird um eins erhöht
  $zahl++;

  // Jetzt öffnen wir die Zählerdatei erneut, überschreiben en alten Inhalt
  // mit der um eins erhöhten Zahl
  $fp=fopen($FILENAME,"w");
  if($fp){
    fputs($fp,$zahl);
  }

  // Jetzt geben wir das Ergebnis aus:

  echo "<h4>Sie sind Besucher Nummer $zahl</h4>\n";
  ?>


Auch hier liegt der Code im Body der Webseite. Er ließt eine Datei, erhöht die gefundene Zahl um eins, speichert diese Zahl wieder ab und gibt sie aus.