• 100% unabhängig
  • 100% kostenlos

PHP Tutorial

PHP ist eine Scriptsprache, welche über einen Server ausgeführt wird. Um die PHP-Programme ausführen zu können, kann man mit XAMPP (http://www.apachefriends.org/de/xampp.html) einen Apache Server auf dem eigenen Rechner installieren. Die Software ist kostenlos, auf der angegebenen Seite werden Versionen für Linux, Windows, Mac Os X und Solaris angeboten.

Sollten Sie nicht über einen Breitbandanschluss verfügen, können Sie notfalls auch mit der Lite-Version von XAMPP arbeiten, die Sie unter der Seite http://www.apachefriends.org/de/xampp-windows.html#1099 abrufen können.

Nach dem installieren werden Sie vom Installer von XAMPP gefragt, wo Sie das Paket installieren möchten. Hier können Sie zum Beispiel „c:\xampp\ angeben, natürlich können Sie auch andere Pfade einrichten. Wenn Sie sich nun die PHP-Scripts anschauen wollen, dann kopieren Sie diese in den Ordner „htdocs“, wo er nun unter „c:\xampp\xampp\htdocs“ zu finden ist. Danach starten Sie Xampp, indem Sie „xampp_start.exe“ aufrufen und anschließend  die Scripts mit dem Internet Browser aufrufen. Bei einer Abfrage über den normalen Dateipfad „c:\xampp\…“ wird der PHP-Code nicht ausgeführt, deswegen müssen die Scripts über den Webserver abgerufen werden. Sie erreichen den Webserver über http://localhost/. Auf dieser Seite wählen Sie dann die PHP Datei an, wodurch der Script ausgeführt wird.

Es kann sein, dass Sie beim Aufruf der Seite http://localhost/ eine Fehlermeldung erhalten. Versuchen Sie dann bitte, die komplette URL-Seite einzugeben, als Beispiel http://localhost/seitenname.php . Sofern Sie im Ordner „htdocs“ Unterordner eingerichtet haben, dann müssen Sie diesen Namen ebenfalls angeben.

Damit ist die Installation abgeschlossen. Wenn Sie nun den Apache Server starten, verfügen Sie über die aktuellste PHP-Version.

 

Es geht los

Zunächst einmal müssen Sie überprüfen, ob PHP überhaupt auf einem Server installiert ist. Dazu benötigen Sie eine PHP-Datei (etwa „phpinfo.php) mit dem Inhalt


<?php
echo phpinfo();
?>

Einen solchen Code können Sie leicht in einen Texteditor einfügen, anschließend klicken Sie auf speichern und geben dann als Dateinamen „phpinfo.php“ an. Achten Sie dabei darauf, dass der Editor die Datei nicht etwa als Textdatei speichert, bevor Sie diese in den Ordner „htdocs“ kopieren.

Wenn Sie nun die Seite auf  http://localhost/phpinfo.php aufrufen wird Ihnen angezeigt, ob auf dem Server PHP installiert ist oder nicht. Sofern PHP installiert ist, werden Ihnen verschiedene Tabellen angezeigt, aus denen Sie ersehen können, was installiert wurde und was unter Umständen noch nicht installiert ist. Hier sehen Sie auch, welche PHP-Version für Sie auf dem Server installiert wurde. Sollte kein PHP installiert worden sein wird meist nichts angezeigt, Sie erhalten eine Fehlermeldung oder die Datei wird zum Download angeboten.
PHP einbinden

Eine PHP-Datei kann sowohl PHP-Befehle als auch HTML-Befehle enthalten. HTML-Befehle werden so, wie Sie es gewohnt sind und aus den HTML-Dateien kennen, in die PHP-Datei geschrieben. Sie müssen jedoch, sollten Sie anschließend in die PHP-Datei dann PHP-Befehle einbinden wollen, durch eine Einleitung festlegen, dass nun ein PHP-Script folgt. Hierfür stehen Ihnen verschiedene Möglichkeiten zur Verfügung.

Die kürzeste Variante ist „<?“ Dazu ist jedoch die Einstellung „short_open_tag“ erforderlich. Ist die Einstellung „off“, dann geht es mit der Variante „<?php“, anschließend folgen jeweils die PHP-Befehle. Zum Abschluß wird bei „<?“ und „<?php“ jeweils nochmals ein „?>“ gesetzt.

Es gibt auch noch eine etwas längere Version wie folgt: „<script language=“php“> PHP-Anweisungen </script>“.

 

Text ausgeben
Texte werden mit Hilfe von „print“ oder „echo“ ausgegeben. Dazu wird eine neue Datei angelegt, die beispielsweise „hallo.php“ heißt und geben den gewünschten Inhalt ein, zum Beispiel: „<?phpecho „hello all“;?>“.  Wenn diese Datei dann mit dem Browser aufgerufen wird, wird der Text „hello all“ angezeigt, exakt so steht es auch im Browser-Quelltext, den Sie sich anzeigen lassen können, natürlich ohne die PHP-Anweisungen. Das hat den Vorteil, dass der eigentliche PHP-Code nicht sichtbar und somit auch nicht kopiert werden kann. Wichtig ist, dass ein PHP-Script in der ersten Zeile immer mit „<?php“ aufgerufen wird und anschließend die PHP-Anweisung, z.B. „echo „hello all“; folgt.

„echo“ ist die Anweisung für eine bestimmte Texteingabe, der zwischen den beiden Anführungszeichen steht. Durch das Semikolon „;“ wird die Funktion „echo“ beendet. Bis auf wenige Ausnahmen enden alle Befehle mit einem Semikolon „;“. Mit „?>“ wird dann das PHP-Script beendet. Alles, was zwischen den Anführungszeichen gesetzt wird kann vollkommen frei definiert werden und gilt als Text. Dabei sind dann auch HTML-Befehle möglich, wie „echo „<b> hello all </b>“;. In diesem Fall würde das „hello all“ in Fettdruck angezeigt.

Sollte man jetzt auf die Idee kommen, sich hello „all“ anzeigen zu lassen, wird man voraussichtlich denken, dass dieser Befehl so aussehen sollte:


<php
echo "hello "all"";
?>

Ich kann Ihnen sagen: Das funktioniert nicht, Sie erhalten eine Fehlermeldung, die wie folgt aussieht: „parse error, unexprected T_STRING, exprecting ‚,‘ in C:\xampp\xampp\htdocs\hallo.php on line 2“.

Selten sind Fehlermeldungen derart brauchbar und zeigen einem, wo der Fehler begangen wurde, den es zu korrigieren gilt. „on line 2“ weist darauf hin, dass in Zeile 2 ein Fehler existiert. In dieser Zeile 2 steht die Answeisung


"echo "hello "all"";

Hier muss demnach irgendetwas falsch sein, was auch mit den Mitteln der Logik feststellbar ist. Der Befehl „echo“ startet immer erst ab dem 1. Anführungszeichen eine Ausgabe und zeigt alles bis zum zweiten Anführungszeichen.

In dieser Befehlszeile stehen jedoch insgesamt 4 Anführungszeichen für eine Textausweisung, somit fehlt eine eindeutige Definition. Das ist der Grund für die Fehlermeldung. Die Anführungszeichen müssen deshalb bei „all“ mit dem Maskierungszeichen versehen werden. Ein Vorgang, den wir mit Backslash (\) bewältigen können. Das Script hat nun, mit Backslash, folgendes Aussehen:


<?php
echo "Hello \"World\"";
?>

Solche Maskierungszeichen müssen vor jedem Anführungszeichen stehen, wenn der Inhalt als Text ausgegeben werden soll.

Bleibt noch zu klären wie man einen wirklichen Backslash einfügen, bzw. anzeigen kann. Dies geschieht ebenfalls über Markierungszeichen, in diesem Fall mit einem zweiten Backslash. Das sieht wie folgt aus:


<?php
echo "c:\\xampp";
?>

In diesem Fall wird  c:\xampp  angezeigt.

PHP-Seiten können sowohl aus HTML-Befehlen, als auch aus PHP-Scripts bestehen, wie nachfolgend in einem Beispiel dokumentiert:


<h2>Herzlich Willkommen</h2>
<?php
echo "Auf meiner Webseite";
?>

Damit erschöpfen sich dann auch schon die notwendigen Kenntnisse über den Befehl „echo“.

Aber auch wenn man vieles mit HTML machen kann, hat HTML den Nachteil, dass es nicht, im Gegensatz zu PHP, möglich ist, dynamische Texte auszugeben. Selbst wenn PHP perfekt beherrscht wird, werden alle Texte dennoch mit „echo“ ausgegeben. Daraus ergibt sich dann, dass die Texte dynamisch, aus einer Datenbank heraus, erzeugt werden können.

Die Ausgabe wird in der Regel durch bestimmte Variable gesteuert, wodurch Besucher selbst bestimmen können, welche Texte sie erhalten. Bei einem Forum bedeutet das beispielsweise, dass in der Titelzeile die Werte stehen, beispielseise „?id=131&seite=4“. Durch diese Werte wird festgelegt, was dem Besucher angezeigt wird.

Kommentare

Möchte man einen Kommentar in einem PHP-Script einfügen oder einen Befehl deaktivieren, nutzt man dafür entweder die Raute „#“ oder 2x einen Slash „//“. Alles hinter diesen Zeichen wird in der Ausgabe nicht sichtbar und wird auch nicht ausgeführt. Das Ende des Kommentars erfolgt dabei durch einen Zeilenumbruch. Da Kommentare es einem ermöglichen, den Überblick zu behalten werden sie relativ häufig angewendet. Darüber hinaus sind sie hilfreich, wenn man nach einiger Zeit etwas ändern möchte.


<?php
//Unser Kommentar
#Texthinweis
echo "hello all";
?>

Gelegentlich kann es sinnvoll sein, einen mehrzeiligen Kommentar anzubringen. Dies ist unter Umständen erforderlich, wenn ein Programmabschnitt vollkommen auskommentiert werden soll. In solchen Fällen wird der Kommentar mit  „/*“ begonnen und mit „*/:“ beendet. Dies sieht dann wie folgt aus:


<?php
/* Ab hier Kommentar
Was man sagen will
Kommentar endet hier */
echo "hello all";
?>

PHP-Variablen

Zahlen und Texte werden bei PHP mit sogenannten Variablen, PHP oder einfach, gespeichert, damit sie später über „echo“ wieder ausgegeben werden können. Bei PHP beginnen die Variablen immer mit einem sogenannten Dollarzeichen „$“, auf das unmittelbar der Variablen-Name folgt, anschließend das Gleichheitszeichen „=“ sowie danach in Anführungszeichen („“) der Text. Als Befehlsabschluss steht am Ende das Semikolon „;“ Man kann den Variablen einen beliebigen Namen geben, muss jedoch unbedingt auf die Groß- und Kleinschreibung achten.  Um Durcheinander und Fehlerquellen zu vermeiden empfiehlt es sich, grundsätzlich die Kleinschreibung zu nutzen. So könnte eine Variable in PHP wie folgt aussehen:


<?php
$name = "Max Klöbner";
?>

In dem vorgenannten Beispiel lautet die Variable, die auf „$name=“ folgt „Max Klöbner“. Es muss darauf geachtet werden, dass beim Einsetzen der Variablennamen immer am Anfang ein Buchstabe oder ein Unterstrich gesetzt werden muss. Keinesfalls dürfen als Startzeichen beispielsweise Zahlen verwendet werden. Sollte eine Variable doppelt definiert werden müssen, empfiehlt es sich, den Inhalt der Variablen zu überschreiben. Mittels Echo erfolgt eine sofortige Übertragung, der neue Inhalt wird per Echo ausgegeben.

Da es sich bei PHP um eine Interpreter-Sprache handelt und der Code zeilenweise von oben nach unten abgearbeitet wird, muss der entsprechende „echo-Befehl“ nach der Variable-Definition gesetzt werden. Wenn das nicht beachtet wird und „echo“ vor der Variablen steht versucht PHP eine nicht definierte Variable auszugeben, was nicht funktioniert, die Ausgabe wird leer sein.

Je nach gesetzter Einstellung wären Angreifer sogar in der Lage, einen beliebigen Text einzuschleusen, was fatale Folgen haben kann. Zur Ausgabe wird dann selbstverständlich wieder der „echo-Befehl“ benötigt, was dann wie folgt aussieht:


<?php
$name = "Max Klöbner";
echo "Mein Name ist $name";
?>

Als Ausgabe wird angezeigt:

Mein Name ist Max Klöbner

Natürlich ist es möglich, den Inhalt der Variablen zu überschreiben, dazu wird einfach nur den neue Wert zugewiesen:


<?php
$name = "Max Mustermann";
echo "Zuerst heiße ich $name <br>";

$name = "Josef Pflug";
echo "Dann ist mein Name $name";
?>

Nun wird als Ausgabe angezeigt:

Zuerst heiße ich Max Mustermann
Dann ist mein Name Josef Pflug

Diese Funktion ist eigentlich nur bei recht langen Texten wirklich interessant, wenn man beispielsweise immer wieder die gleiche Person an unterschiedlichen ansprechen möchte. Sofern mit „echo“ jedoch nur eine Variable abgerufen wird, können die Anführungszeichen weggelassen werden. Der Code lautet dann:


<?php
$name = "Nils Reimers";
echo $name;
?>

Es besteht auch die Möglichkeit, an eine bereits vorhandene Variable einen Text oder eine weitere Variable anzuhängen.


<?php
$name = "Max ";
$name .= "Mustermann";
echo $name;
?>

Ausgabe: Max Mustermann

Wenn ein Text oder eine Variable an eine bereits vorhandene Variable angehängt werden soll, so kann man dies mit einem Punkt vor dem Gleichheitszeichen machen. PHP erkennt dann,  dass der Text, der nach dem Gleichheitszeichen folgt oder die sich anschließende Variable an die bereits bestehende Variable angehängt werden soll.

Rein theoretisch könnten Sie eine Variable unendlich verlängern, wobei dies dann auch direkt im „echo“ genutzt werden kann:


<?php
$name = "Max";
echo "Mein Name ist ".$name." Klöbner";
?>

Auf diese Art erhält man eine zusammengesetzte Ausgabe. Als erstes wird „Mein Name ist“ ausgegeben. Nach den Anführungszeichen wird ein Punkt und dann wieder eine Variable gesetzt. Nach dieser Variablen kann die Ausgabe mit einem Semikolon beendet werden, oder, wie im obigen Fall, noch der Text „Klöbner“ angehängt werden.

Selbstverständlich geht das auch mit anderen Variablen:


<?php
$farbe = "gelbes";
$text = "Wir haben ein ".$farbe." Auto";
echo $text;
?>

Mit Variablen Rechnen

Selbstverständlich ist es auch möglich, mit PHP zu rechnen. Allerdings dürfen, sofern man einer Variablen eine Zahl zuordnet, keine Anführungszeichen verwendet werden, da PHP sonst von einem Text ausgeht und diesen entsprechend behandelt.


<?php
$zahl1 = 12;
$zahl2 = 6;
?>

In dieser Variablen sind nun die 12 und die 6 als Zahlen gespeichert, sie möchten rechnen:


<?php
echo $zahl1 + $zahl2;
?>

Im Ergebnis wird die Summe der beiden Zahlen ausgewiesen. Es ist klar, dass Sie das auch folgendermaßen hätten schreiben können:


<?php
echo 12 + 6;
?>

Sollten Sie diese Zahlen jedoch später nochmal an anderer Stelle benutzen wollen, dann speichern Sie diese am sinnvollsten in Variablen.


<?php
$zahl = 1;
$ergebnis = $zahl + 6;
echo $ergebnis;
?>

Im Folgenden einige wichtige weitere Beispiele:


<?php
echo $zahl1 + $zahl2; //addieren
echo $zahl1 - $zahl2; //subtrahieren
echo $zahl1 * $zahl2; //multiplizieren
echo $zahl1 / $zahl2; //teilen/dividiern
echo pow($zahl1,$zahl2); //Zahl1 hoch Zahl2 (102)
echo sqrt(64); // Wurzel von 64
?>

Selbstverständlich haben Sie auch hier wieder die Möglichkeit, die Ergebnisse in extra Variablen zu speichern.

Es gibt im Übrigen einen einfachen Trick, möchte man den Wert einer Variablen um 1 erhöhen oder verringen:


<?php
$erhoehen = 1;
$erhoehen++;
echo $erhoehen;
?>
Ausgabe ist 1
<?php
$senken = 2;
$senken--;
echo $senken;
?>

Ausgabe ist 2

Sofern an den Variablen-Namen ein doppeltes Pluszeichen angehängt wird, wird der Inhalt dieser Zahl um 1 erhöht, wird dagegen das doppelte Minuszeichen verwendet, wird der Wert um 1 gesenkt. Dies gilt natürlich nur bei Zahlenvariablen.

 

Variablentypen
Das Thema der Variablentypen muss man beim Programmieren nicht weiter beachten, da PHP den Typ der Variablen selber festlegt. Jedoch werden beispielsweise in Foren gelegentlich ganz bestimmte Fachausdrücke verwendet, um Typen von Variablen zu beschreiben. Durch einen Variablentyp wird festgelegt, über welchen Inhalt eine Variable verfügen soll. Nun legt PHP die Typen jedoch selber fest, folglich kann sich der Typ einer Variablen auch ändern. Folgende Typen existieren bei PHP:

– Integer-Variablen: Sie enthalten nur Zahlen ohne Komma
– String-Variablen: Diese Variablen enthalten Texte, Sätze oder Wörter
– Float-Variablen: Kommazahlen, wobei anstatt des Kommas ein Punkt genutzt wird
– Double-Variablen: Identisch mit „Float“, allerdings mit mehr Nachkommastellen
– Bool-Variablen: Für die Werte „True“ und „False“

Beispiel:


<?php
$integer = 15; //Eine Integer Variable
$string = "Eine Menge Text"; //Ein String
$float = 15.5; //Eine Zahl mit einem Komma
$bool = true;
?>

Variablen übergeben

Die Möglichkeit, Variablen zu übergeben ist ein wichtiges von PHP angebotenes Detail, da man damit von
Besuchern berechnete Daten oder einebene Texte auf eine andere Seite übertragen kann. Um Variable zu übergeben existieren zwei Möglichkeiten: „Post“ und „Get“.

So würde eine Seite mit einem normalen Formular unter „Post“ folgendermaßen aussehen:

Das könnte beispielsweise so aussehen:


<form action="seite2.php" method="post">
Ihr Nachname:<br>
<input type="Text" name="Nachname">
<input type="Submit" value="Absenden">
</form>

Für solche Formulare wird kein PHP benötigt, somit kann dieses Formular in einem normalen HTML-Dokument gespeichert werden. Achten Sie unbedingt darauf, dass allen Eingabefeldern jeweils andere Namen zugewiesen werden, damit sie nach dem Absenden auf der nächsten Seite korrekt abgefragt werden können. Haben zwei Felder identische Namen wird jeweils nur das letzte Feld übertragen, da die vorigen Eingaben überschrieben werden, die Variable wird sozusagen neu definiert.

Im nächsten Schritt wird eine „seite2.php“ erstellt:


<?php
echo $_POST["vorname"];
?>

Schauen Sie jetzt noch einmal auf das vorherige „Input-Feld“ mit dem Namen „Nachnahme“ im vorigen Abschnitt. Exakt diese Eingabe rufen wir jetzt erneut ab: „$_POST[„Nachname“];“ Wenn nun auf der Formularseite „Absenden“ angeklickt wird, wird dadurch „seite2.php“ aufgerufen und von dieser die übermittelten Daten ausgegeben. Somit ist es möglich, mit „$_POST[„Nachname“];“gesendete Daten nochmal abzufragen. [„Nachname“] gibt den Namen des abgefragten Inputfeldes aus der Formularseite an.

Derartige Abfragen können auch in Variablen gespeichert werden, damit sie später flexibel weiterverarbeitet werden können. Dies würde mit folgenden Code geschehen:


<?php
$vorname = $_POST["vorname"];
echo $vorname;
?>

Falls $_POST[„vorname“]; in einer Variablen ($vorname) gespeichert werden soll, darf $_POST[„vorname“]; nicht in Anführungszeichen stehen, da es sonst als Text interpretiert werden würde.

Sofern die entsprechenden Befehle untereinander stehen, können mehrere Eingaben gleichzeitig abgerufen werden:


<?php
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
?>

Alternativ zur „Post-Methode“ kann man auch die „Get-Methode“ anwenden. Dabei werden die zu übergebenden Daten an die URL gehängt. Ein Formular, welches mit der „Get-Methode“ zu verschicken ist, würde dann etwa so aussehen:

seite2.php?vorname=Max

Durch das Fragezeichen sorgt der Browser dafür, dass bestimmte Eingaben an eine URL angehängt werden. Dabei ist das erste Wort nach dem Fragezeichen der Feldname des „Input-Feldes“, nach dem Gleichheitszeichen steht dann die Eingabe „Max“.

Sollte man nun mehr als nur ein Feld übertragen wollen, dann werden die weiteren Feldnamen mit einem „Und-Zeichen“ (&) noch angehängt.

Das ergibt dann folgendes Bild:

seite2.php?nachname=Klöbner&vorname=Max

Wenn nun jemand diese Eingaben abruft, sieht das folgendermaßen aus:


<?php
echo $_GET["nachname"];
echo $_GET["vorname"];
?>

Selbstverständlich kann alles auch wieder in einzelnen Variablen gespeichert werden:

Die Frage, ob man GET oder POST verwendet, stellt sich nur bei oberflächlicher Betrachtung. Sollte man Eingaben aus Formularen übergeben wollen, dann ist es immer besser, mit POST zu arbeiten.  Bei GET werden die Eingaben, wie eben erläutert, an die URL angehängt, was die Textlänge einschränkt. Hinzu kommt, dass  man im Browser-Verlauf an der URL erkennen, welche Daten übermittelt wurden – bei Passwörtern kein sonderlich beruhigender Gedanke.

Get hat jedoch auch Vorteile, beispielsweise bei der einfachen Übergabe von Informationen. Soll zum Beispiel eine Auswahl mit einem einfachen Klick auf einen Link übergeben werden, so kann dies schnell nach der Methode „GET“ erledigt werden:
<a href=“buch.php?seite=1″>Seite 1</a>

Bei dem obigen Beispiel würde als Eingabe die „1“ ausgegeben werden. Derartige Links werden im PHP zur Programmierung von dynamischen Seiten genutzt.

Wozu benötigt man Variablen?

Damit sind die ersten Grundlagen zu den Variablen bekannt. Wenn man nun aus einer Datei oder Datenbank Einträge abfragt, werden diese dann in Variablen, zur besseren Übersicht, speichert, danach durch Berechnung, Sortierung und Selektion aufbereitet, bevor sie mit „echo“ wieder ausgegeben werden. Es folgt später noch eine Lektion, wie man Variablen überprüft, zum Beispiel ober der Name „Max“ war. Im weiteren Verlauf folgen jetzt die PHP if-Anweisungen.

PHP: if Anweisungen

Bisher war im Zusammenhang mit PHP kein besonders großer Vorteil gegenüber HTML erkennbar. Dies wird sich jetzt mit den if-Anweisungen ändern. Mit diesen Anweisungen kann überprüft werden, ob notwendige Bedingungen erfüllt sind oder nicht. In PHP sieht das Gerüst einer if-Anweisung wie folgt aus:


<?php
if(Bedingung)
{
Anweisung
}
?>

Die zu überprüfenden Bedingungen werden direkt nach dem einleitenden „if“ in Klammern gesetzt. Im Anschluß folgen in geschwungenen Klammern die auszuführenden Anweisungen, sofern die Bedingung erfüllt (true/wahr) ist.

Zur Verdeutlichung folgendes Beispiel:


<?php
$user = "Max";

if($user == "Max")
{
echo "Hallo Max";
}
?>

Mit der „IF-Anweisung“ wird überprüft, ob der Inhalt der Variablen „$user“ Max lautet. Sollte dies der Fall sein, erhalten wir die Rückmeldung „True/Wahr“ und erhalten die Ausgabe „Hallo Max“ .  Bei dieser Anweisung muss darauf geachtet werden, dass unbedingt 2 mal das „=“ – Zeichen benutzt wird. Verwendet man es nur einmal, wäre die if-Anweisung nicht funktionsfähig, da hierbei der Wert „Max“ der Variablen zugeordnet werden würde. Im Übrigen darf ohnehin kein Semikolon „;“ hinter einer if-Anweisung stehen. Wäre der Inhalt der Variablen „$user“ nicht „Max“, dann würde „if“ ein falsches Ergebnis ermitteln, es würde zu keiner Ausgabe kommen. Möchte man jedoch trotzdem eine Ausgabe erhalten, auch wenn die Variable falsch ist, dann wird die „else“ Anwendung benötigt. Das Grundgerüst für „else“ sieht folgendermaßen aus:


<?php
if(Bedingung)
{
Anweisung
}
else
{
Anweisung
}
?>

„Else“ tritt somit immer dann ein, wenn ein „falsch“ festgestellt wird. Zur Verdeutlichung folgendes Beispiel:


<?php
$user = "Bernd";
if($user=="Max")
{
echo "Hallo Max";
}
else
{
echo "Du bist nicht Max!";
}
?>

Ist die Variable „$user“ mit dem Inhalt „Max“ programmiert, erhalten wir als Antwort „Hallo Max“, bei jedem anderen Eintrag bekommen wir die Ausgabe: „Du bist nicht Max!“ Damit sind wir immerhin schon in der Lage, ein sichere, wenn auch noch einfache, Passwortabfrage zu erstellen. Natürlich benötigen wir dazu wieder ein Formular:


<form action="seite2.php" method="post">
<input type="Password" name="passwort">
<input type="Submit" value="Absenden">
</form>

In dieses Formular wird das Passwort eingegeben. Nach em Absenden wird die Seite „seite2.php“ aufgerufen und an diese das Passwort übergeben, so wie es unter „Variable übergeben“ beschrieben ist. Die „seite2.php“ muss dann folgendes Aussehen haben:


<?php
$passwort = $_POST["passwort"];
if($passwort=="geheim")
{
echo "Herzlich Willkommen im internen Bereich";
}
else
{
echo "Das Passwort ist leider falsch";
}
?>

Mit „$passwort = $_POST[„passwort“]; wird der Variablen im Formular der Inhalt des Passwortfeldes zugewiesen. Durch die „if-Anweisung“ wird dann abgefragt, ob die Variable „$passwort“ als Inhalt das Wort „geheim“ führt, bzw. ob im Formular tatsächlich auch „geheim“ notiert wurde. Durch diese Vorgaben sorgt man dafür, dass man bei richtiger Eingabe den passwortgeschützten Bereich betreten kann und bei falscher Eingabe den Hinweis „Das Passwort ist leider falsch“ erhält.

Selbstverständlich besteht auch die Möglichkeit, if-Anweisungen zu verschachteln und innerhalb der ersten weitere if-Anweisungen zu erstellen. Ein Beispiel:


<?php
$vorname = "Max";
$nachname = "Klöbner";

if($vorname=="Max")
{
echo "Hallo Max ";

if($nachname=="Klöbner")
{
echo "Klöbner";
}
}
else
{
echo "Du bist nicht Max";
}

?>

In diesem Fall wird zuerst geprüft, ob die Variable „$vorname“ den Inhalt „Max“ hat. Ist das der Fall, so erfolgt die Ausgabe „Hallo Max“. Anschließend wird innerhalb der if-Anweisung mit einer folgenden if-Anweisung geprüft, ob in der Variablen „$nachname“ das Wort „Klöbner“ hinterlegt ist. Ist das der Fall, erfolgt als weitere Ausgabe „Klöbner“. Sollte die Variable „$vorname“ nicht „Max“ zum Inhalt haben, erfolgt die Ausgabe „Du bist nicht Max“. Dann spielt es auch keine Rolle, ob „$nachname“ mit Klöbner belegt ist oder nicht. Es ist auch möglich, eine zweige if-Anweisung im Teil „else“ zu hinterlegen:


<?php
$user = "Max";
if($user=="Max")
   {
   echo "Hallo Max";
   }
else
   {
   if($user=="Klöbner")
      {
      echo "Hallo Herr Klöbner";
      }
   else
      {
      echo "Du bist nicht Max Klöbner";
      }
   }
?>

Steht in der Variablen „$user“ das Wort „Max“, so wird „Hallo Max“ angezeigt. Ist der Inhalt anders prüft das System, ob der Inhalt „Klöbner“ im System hinterlegt ist. Ist dies der Fall, wird „Hallo Herr Klöbner“ angezeigt. Ist bei der Variablen „$user“ weder „Max“ noch „Klöbner“ hinterlegt, erfolgt die Ausgabe „Du bist nicht Max Klöbner“. Auch dies ist mit „else if“ zu lösen. Hier eine weitere if-Anweisung, sollte die vorherige nicht passen:


<?php
$user = "Max";

if($user=="Max")
   {
   echo "Hallo Max";
   }
else if($user == "Klöbner")
   {
   echo "Hallo Herr Klöbner";
   }
else if($user == "Drummer")
   {
   echo "Hallo Herr Drummer";
   }
else
   {
   echo "Du bist weder Herr Klöbner noch Herr Drummer";
   }
?>

Mittels einer if-Anweisung hat man auch die Möglichkeit abzufragen, ob etwas nicht erfüllt ist. Dies geschieht mit „!=“. Ein Beispiel:


<?php

$user = "Max";

if($user!="Max")
   {
   echo "Du bist nicht Max";
   }
else
   {
   echo "Hallo Max";
   }
?>

Hat die Variable „$user“ nun einen anderen Inhalt als „Max“, wird ebenfalls „Du bist nicht Max“ angezeigt. Ist der Inhalt dagegen korrekt, wird „Hallo Max“ ausgegeben. Natürlich könnte man hierfür auch die Abfrage „==“ nutzen. Wenn man jedoch gleichzeitig überprüfen möchte, ob in dem Formular überhaupt etwas hinterlegt wurde, nimmt man der Einfachheit halber „!=“.  Das sieht dann wie folgt aus:


<?php

$user = $_POST["user"];

if($user!="")

   {

   echo "Herzlich Willkommen $user";

   }

else

   {

   echo "Das Feld User wurde nicht ausgefüllt";

   }

?>

Zunächst werden die übertragenen Daten abgefragt. Wenn „$user“ leer ist, wird „Herzlich Willkommen $user“ angezeigt. Sollte das Feld nicht ausgefüllt, wird „Das Feld User wurde nicht ausgefüllt“ angezeigt. Bei if-Anweisungen muss man unbedingt darauf achten, dass die geschwungenen Klammern alle auch wieder geschlossen werden, sonst funktioniert das Script nicht. Möchte man mehrere Bedingungen überprüfen, benötigt man

Logische Operationen

Es reicht sehr oft nicht aus, nur eine einzige Bedingung zu prüfen. Bei einer Passwortabfrage möchte man beispielsweise wissen, ob der Benutzername und das Passwort richtig sind, eins von beiden reicht nicht. Es ist daher möglich, in PHP mehrere Bedingungen zu verknüpfen. Selbstverständlich kann man auch mehrere if-Anweisungen dafür nutzen. Will man jedoch zum Beispiel 5 verschiedene Bedingungen überprüfen, kann das schnell sehr unübersichtlich werden. Dafür sind dann die logischen Operationen vorgesehen. Damit lassen sich eine Vielzahl von Bedingungen auf unterschiedliche Art verknüpfen. Eine Passwortabfrage hätte dann beispielsweise folgendes Aussehen:


<?php

$username = "Max";

$passwort = "php-einfach";

 

if($username=="Max" AND $passwort=="php-einfach")

   {

   echo "Zugriff erlaubt";

   }

?>

Dabei werden „$passwort“ und „$username“ gemeinsam geprüft. Ein Zugriff erfolgt nur, wenn beide Eingaben korrekt sind. Über den Operator „AND“ erfolgt die Verbindung der beiden Bedingungen. Es ist auch möglich, anstatt von „AND“ die Zeichen „&&“ zu nutzen. Es spielt keine Rolle, welche der beiden Schreibweisen man nutzt, das Ergebnis bleibt gleich.

Immer wieder kommt es vor, dass die Erfüllung einer Bedingung ausreichend ist. Dafür kann man den Operator „OR“ verwendet.


<?php

$username = "Max";

$passwort = "php-einfach";

 

if($username=="Max" OR $passwort=="php-einfach")

   {

   echo "Zugriff erlaubt";

   }

?>

In diesem Fall gilt die if-Anweisung auch dann als erfüllt, wenn nur eine der beiden Bedingungen erfüllt ist. Das mag für eine Passwortabfrage nicht viel Sinn machen, aber darum geht es im Augenblick nicht. Die Ausgabe „Zugriff erlaubt“ erfolgt auch, wenn bei „OR“ beide Bedingungen erfüllt sind. Es besteht sogar die Möglichkeit, für mehrere Personen eine Passwortabfrage zu erstellen. Hierzu müssen die unterschiedlichen Operatoren lediglich miteinander verknüpft werden.


<?php

$username = "Max";

$passwort = "php-einfach";

 

if( ($username=="Max" AND $passwort=="php-einfach")

                                        OR

    ($username=="Jupp" AND $passwort=="geheim") )

   {

   echo "Zugriff erlaubt";

   }

?>

In dem Fall haben nur „Max“ mit dem Passwort „php-einfach“ oder „Paul“ mit dem Passwort „geheim“ Zugriff. Würde Max als Passwort „geheim“ eingeben, bekäme er keinen Zutritt. Allerdings existiert noch eine dritte Möglichkeit, den Operator einzusetzen, dabei darf jedoch nur eine einzige Bedingung richtig sein. Man nennt das bei php „exklusives oder“ und wird folgendermaßen geschrieben:


<?php

$username = "Max";

$passwort = "php-einfach";

 

if($username=="Klöbner" XOR $passwort=="php-einfach")

   {

   echo "Zugriff erlaubt";

   }

?>

Nun wird die Anweisung erst dann ausgeführt, wenn die Variable „$username“ mit dem Inhalt „Klöbner“ gefüllt ist, oder die Variable $“passwort“ mit „php-einfach“ den richtigen Inhalt hat. Hier erhält man dann keine Zugriffsmöglichkeit, wenn beide Inhalte richtig sind. Entweder oder wird in php als „XOR“ geschrieben.

Zur Sicherheit nochmal zusammengefasst:

„AND“ setzt die Erfüllung beider Bedingungen voraus
„OR“ erwartet mindestens eine erfüllte Bedingung
„XOR“ verpflichtet dazu, dass nur eine Bedingung erfüllt wird

Bei einer echten Passwortabfrage muss man die Variablen „$username“ und „$passwort“ als Formular eingeben. Auch hierfür wird zunächst wieder ein Formular benötigt, welches über zwei Input-Felder verfügt:

<form action=“seite2.php“ method=“post“>

Username:<br>

<input type=“Text“ name=“username“><br>

Passwort:<br>

<input type=“Password“ name=“passwort“><br>

<input type=“Submit“ value=“Absenden“><br>

</form>

In diesem Formular wird dann der „Username“ und das „Passwort“ eingegeben. Anschließen wird durch das Absenden die „seite2.php“ aufgerufen, die Daten werden übergeben. Die „seite2.php“ sähe dann wie folgt aus:


<?php

$username = $_POST["username"];

$passwort = $_POST["passwort"];

 

if($username=="Max" AND $passwort=="php-einfach")

   {

   echo "Zugriff erlaubt";

   }

else

   {

   echo "Zugriff fehlgeschlagen";

   }

?>

Zunächst werden die eingegebenen Daten abgefragt und in den Variablen „$username“ und „$passwort“ gespeichert. Danach wird mit einer if-Anweisung sowie dem logischen Operator „AND“ abgefragt, ob „$username“ den Inhalt „Max“ und „$passwort“ den inhalt „php-einfach“ hat. Man kommt nur dann in den internen Bereich, wenn beide Eingaben richtig sind.

PHP: Dateien
Sie sind jetzt in der Lage, Variable zu überprüfen und mit ihnen zu arbeiten. Sie können daher inzwischen auch bereits geschützte Bereiche programmieren, aber man möchte den einen oder andere Wert ja auch einmal abspeichern, zum Beispiel Daten aus Formularen oder ähnlichem. Das, was man abgespeichert hat, möchte man dann ja auch irgendwann einmal wieder ausgeben, dafür werden PHP Dateien benötigt und verwendet. In diesen Dateien speichert man seine Werte per PHP und ist dann in der Lage, sie an einer anderen Stelle wieder auszulesen. Dabei muss man beachten, dass die Arbeiten mit Dateien immer in 3 Schritten ablaufen. Zunächst wird eine Datei geöffnet, anschließend wird ein Inhalt in die Datei geschrieben oder eventuell auch aus einer Datei gelesen, oder beides. Zum Schluss muss die Datei wieder geschlossen werden. Das Öffnen einer Datei ist eine einfache Angelegenheit:


<?php

$datei = fopen(Dateiname, Modus);

?>

Mit dem PHP-Befehl „fopen“ wird die Datei (Dateiname) geöffnet. Der Modus, in dem wir uns befinden bestimmt dann, was mit der Datei geschehen kann: Lesen oder Schreiben. Ebenfalls ist zu beachten, wo PHP mit dem Lesen beginnen soll, am Anfang oder am Ende der Datei. Auch ist es von Bedeutung, ob durch PHP eine Datei angelegt wird oder nicht, sollte diese noch nicht bestehen. Sollten Sie mit PHP neue Dateien erstellen wollen, dann sollte man „r+“ benutzen.

Für den jeweiligen Modus stehen insgesamt folgende Funktionen zur Verfügung:

r = Lesen ab Anfang – ohne Dateianlage
r+ = Lesen und Schreiben ab Anfang – ohne Dateianlage
w = Schreiben ab Anfang – mit Dateianlage
w+ = Lesen und Schreiben ab Anfang – mit Dateianlage
a = Schreiben ab Ende – mit Dateianlage
a+ = Lesen und Schreiben ab Ende – mit Dateianlage

Bei der Nutztung von „w“ oder „w+“ müssen Sie darauf achten, dass der Dokumenteninhalt ohne Nachfrage überschrieben wird. Möchte man ein Logfile anlegen, muss man den Modus „a“ benutzen, da der neue Eintrag ausschließlich am  Ende angehängt wird.

Anhand der Programmierung eines einfachen Textcounters  ohne Reloadsperre  kann man lernen, was hierfür alles benötigt wird. Zunächst wird , nach Möglichkeite eine Textdatei, beispielsweise „counter.txt“ geöffnet. Ersatzweise kann jedoch auch ein anderes Format benutzt werden.


<?php

$datei = fopen("counter.txt","r+");

?>

Achten Sie bei der Benutzung des Modus „r+“ darauf, dass die Datei bereits existiert. Danach wird die Datei zunächst ausgelesen, da es ja darum geht festzustellen, von wie vielen Personen die Seite bereits aufgerufen wurde.


<?php

$counterstand = fgets($datei, 10);

?>

Die Datei wird mit „fgets“ gelesen, wobei mit dem ersten Wert in der Klammer angegeben wird, welche Datei gerade gelesen wird. Mit dem zweiten Wert wird angegeben, wie viele Zeichen gelesen werden. Im obigen Beispiel handelt es sich um 10 Zeichen, da Counter in der Regel aus maximal 10 Zeichen bestehen. Das, was gelesen wurde, wird in der Variablen „$counterstand“gespeichert.

Sollte die Datei leer sein, nutzen Sie eine einfache if-Anweisung:


<?php

if($counterstand == "")

   {

   $counterstand = 0;

   }

?>

Damit kann überprüft werden, ob Dateien über einen Inhalt verfügen. Sollte kein Inhalt vorhanden sein, wird der Zählerstand des Counters auf „0“ gesetzt. Um zu erreichen, dass der Counterstand je Besucher um 1 erhöht wird, nutzen wir die Anwendung „$counterstand++;“, anschließend ist der neue Wert gespeichert. Mit „echo“ wird dann dafür gesorgt, dass dem Besucher die Zahl angegeben wird.


<?php

$counterstand++;

echo $counterstand;

?>

Beachten Sie bitte dabei, dass durch das Lesen des Counterstandes, bzw. der Datei, der Dateizeiger nicht mehr am Beginn der Datei steht. Der alte Wert würde deswegen nicht überschrieben, wenn man nun den neuen Wert speichern würde. In der Konsequenz würde aus dem Counterstand 1 im Anschluss die 12.


 

<?php

rewind($datei);

?>

Durch „rewind“ wird der Dateianzeiger wieder an den Anfang der Datei gesetzt, damit im Anschluss der neue Wert in die Datei eingetragen werden kann.


<?php

fwrite($datei, $counterstand);

?>

Mit „fputs“ oder auch „fwrite“ wird der neue Counterstand der in der Variablen „$counterstand“ angelegt ist, in die Datei „$datei“ ein. Anschließend wird die Datei geschlossen:


<?php

fclose($datei);

?>

Der vollständige Code für den gesamten Counter hat dann folgendes Aussehen:


<?php

$datei = fopen("counter.txt","r+");

$counterstand = fgets($datei, 10);

if($counterstand == "")

   {

   $counterstand = 0;

   }

$counterstand++;

echo $counterstand;

rewind($datei);

fwrite($datei, $counterstand);

fclose($datei);

?>

Die Arbeit mit Dateien ermöglicht eine Vielzahl weiterer Anwendungen, wie Foren, Gästebücher, Newsscripts und Logfiles. Sie sind jedoch meist recht einfach gehalten und bieten nur wenige zusätzliche Funktionen. Man sollte daher in diesem Bereich eher mit MySQL arbeiten.

Wer nach diesem Prinzip auf dem eigenen Server arbeitet, müssen den beschriebenen Dateien die Schreibrechte CHMOD(unix) 777 gegeben werden.
Dateien auslesen
Hierfür existieren zwei verschiedene Möglichkeiten. Zum einen kann die Datei Zeile für Zeile in Array eingelesen werden. Das geht folgendermaßen:


<?php

$userdatei = fopen("datei.txt","r");

while(!feof($userdatei))

   {

   $zeile = fgets($userdatei,1024);

   echo $zeile;

   }

fclose($userdatei);

?>

Zuerst wird die Datei „datei.txt“ mit dem Lesemodus „r“ geöffnet.

Diese „while-Schleife“ bleibt so lange offen, bis das Ende der Datei erreicht ist. Dies kann mit „!feof“ geprüft werden. Anschließend werden die nächsen 1024 Zeichen ausgelesen und ausgegeben. Natürlich besteht die Möglichkeit, andere Werte zu benutzen. Diese sollten jedoch nicht zu klein sein. Geben Sie beispielsweise „2“ ein und die Datei hat 1.000 Zeichen, dann muss die Schleife ingesamt 500 mal durchlaufen werden. Das dauert logischerweise wesentlich länger, als wenn auf einen Schlag 1024 Zeichen gelesen werden können. Sie können also durchaus auch größere Werte benutzen, wie zum Beispiel 5.000.

Sobald der Dateizeiger das Ende erreicht hat, wird die while-Schleife beendet und die Datei geschlossen. Dagegen ist die zweite Möglichkeit wesentlich einfacher, sie wird mit dem Befehl „file“ initiiert:


<?php

$datei = file("datei.txt");

?>

Anschließend können Sie den Inhalt wieder mit der geeigneten Schleife ausgeben, hierzu bieten sich alternativ die „while-Schleife“, die „for-Schleife“ oder „foreach“ an. Dann können Sie den Inhalt so wie ein Array behandeln und nach Werten suchen (in_array), Werte sortieren oder Werte hinzufügen.


 

<?php

$datei = file("datei.txt");

 

 

foreach($datei AS $meine_datei)

{

echo $meine_datei."<br>";

}

?>

Weiter besteht die Möglichkeit, mittels „implode“ ein Array mit einem Trennzeichen zu einem String/Text zusammenzufügen:


<?php

$datei = implode("",file("datei.txt"));

echo $datei;

?>

In diesem Fall wird das Trennzeichen „“ (leer) benutzt. Sie können sich dies folgendermaßen vorstellen: Zunächst wird das erste Element ($array[0] in der Variablen gespeichert, darauf folgt ein Trennzeichen, dann das zweite Element, wieder ein Leerzeichen, dann das dritte usw.

Soll jede Zeile einer Datei auch eine neue Zeile im Browser darstellen, nutzt man als Trennzeichen <br>:


<?php

$datei = implode("<br>",file("datei.txt"));

echo $datei;

?>

Explode

Die Funktion „explode“ ist beim arbeiten mit Dateien sehr wichtig. Mit „explode“ werden Texte an bestimmten Stellen getrennt, die Textabschnitte werden in einem Array gespeichert. Auf diese Art kann das Array speziell abgefragt werden.

Auf diese Art können Sie ein Login-Script erstellen und dann den Benutzernamen und das Passwort in externen Dateien speichern. Außerdem können Texte wesentlich leichter formatiert werden, z.B. aus einem Gästebuch-Script. Soll später das Design des Gästebuchs verändert werden, muss nicht der gesamte Inhalt verändert werden, es reicht dann aus, einige Zeilen im PHP-Code zu ändern. Die Funktion können Sie gleichermaßen bei Inhalten gelesener Dateien wie auch bei Texten benutzen.


<?php

$zeile = "01.01.2013|Happy New Year|Frohes Neues Jahr";

$zerlegen = explode("|", $zeile);

 

echo "<b>$zerlegen[0]</b>, <i>$zerlegen[1]</i>

<u>$zerlegen[2]</u>";

?>

Bei diesem Befehlt wird folgendes angezeigt: „01.01.2013, Happy New Year Frohes Neues Jahr

Der Text wird in der variablen „$zeile“ geschrieben, die einzelnen Abschnitte mit | getrennt. Danach wird die Funktion „explode“ benutzt, um den Text überall dort zu trennen, wo ein  | steht. Sie können auch ein anderes Zeichen benutzen. Sie sollten jedoch darauf achten nur Zeichen zu benutzen, die für Texte normalerweise nicht benutzt werden, wie beispielsweise einen Punkt. Anschließend geben Sie mit „echo“ den ersten Wert des Arrays aus (01.01.2013), dann den zweiten Wert (Happy New Year) und zuletzt den dritten Wert (Frohes Neues Jahr).

Wie bekannt, beginnen Arrays mit der Nummerierung immer bei der 0. Daher können Sie alle gespeicherten Werte unabhängig voneinander bearbeiten. Wird dann das bearbeitete Array mit „implode“ zusammegeführt, können Sie die veränderten Textdateien sehr leicht abspeichern.

Dieses Verfahren wird beim Arbeiten mit Textdateien sehr häufig angewendet. Würde man dagegen in den Textdateien nicht die reinen Informationen, quasi ausschließlich die Angaben des Benutzers speichern, sondern zusätzlich auch noch HTML-Tags, dann wäre die Ausgabe überaus schwierig. Die womöglich noch eingegebene Mailadresse vor der Ausgabe nochmal zu prüfen, wäre nahezu unmöglich. Als Beispiel zeigen wir Ihnen die Erstellung einer kleinen Shoutbox, beschränkt auf den Teil, wie der Text wieder ausgegeben wird.

Dafür wird zunächst eine neue Datei angelegt (text.txt). Hier wird folgendes hineingeschrieben:

Schnecke|Alles klar?

Huhn|Alles bestens

Hahn|Ich bin neu hier

Text und Namen können Sie in dem Beispiel selbst auswählen, denken Sie aber daran, dass zwischen den Namen und dem Text ein  | steht.

Die Ausgabe sieht dann wie folgt aus:


<?php

$datei = file("text.txt");

 

foreach($datei AS $ausgabe)

{

$zerlegen = explode("|", $ausgabe);

 

echo "Von <b>$zerlegen[0]</b><br>

$zerlegen[1]<br><br>";

}

?>

Da ein Zeilenumbruch als Trennzeichen der Einträge benutzt wurde ist es sinnvoll, diese Datei per „file“ zu lesen. Darauf folgt eine „foreach-Schleife, da jede Zeile der Datei als eigenes Arrayelement gespeichert wurde und wir diese jetzt mit der „foreach-Schleife“ nacheinander durchgehen.

Dabei wird das aktuelle Arrayelement mit „AS“ in der Variablen „$ausgabe“ gespeichert. Dann werden die Abschnitte mit „explode“ sowie mit dem jetzt bekannten Strich als Trennmittel voneinander getrennt, bevor es mit dem Array „$zerlegen“ gespeichert wird. Danach wird der Inhalt der Datei mit „echo“ ausgegeben. Dies sieht dann so aus:

Von Schnecke: Alles klar?

Von Huhn: Alles bestens
Von Hahn: Ich bin neu hier

Natürlich können Sie auch eine „for-“ oder „while-Schleife nutzen, das sähe dann wie folgt aus:



<?php

$datei = file("counter.txt");

 

for($a = 0; $a < count($datei); $a++)

{

$zerlegen = explode("|", $datei[$a]);

 

echo "Von <b>$zerlegen[0]</b><br>

$zerlegen[1]<br><br>";

}

 

echo "<br><br>Und jetzt die while-Schleife";

 

$datei = file("counter.txt");

 

$a = 0;

while($a < count($datei))

{

$zerlegen = explode("|", $datei[$a]);

 

echo "Von <b>$zerlegen[0]</b><br>

$zerlegen[1]<br><br>";

$a++;

}

?>

Nun können Sie bereits komplexe Scripts erstellen, bei denen nur Textdateien benötigt werden, inklusive sicherer Login-Systeme.

PHP Schleifen

While-Schleife

Gelegentlich ist es notwendig, dass Anweisungen so lange ausgeführt werden, bis das bestimmte Ergebnis eintritt. Dies geschieht beispielsweise, um den Inhalt einzelner Datenbanken, wie MySQL, oder den Inhalt von Dateien auszugeben. Dafür wird von PHP die „while-Schleife“ und die „for-Schleife“ angeboten.

While-Schleifen nutzt man hauptsächlich in Verbindung mit Datenbanken, wohingegen for-Schleifen meist zum Rauf- und Runterzählen von Werten genutzt werden. Das folgende PHP-Script enthält eine solche Schleife, die bis zum Erreichen einer bestimmten Zahl zählt. Dafür wird ein Formular benötigt, in welchem die Zahl eingegeben wird.

<form action=“seite2.php“ method=“post“>

Eine Zahl zwischen 1 und 25:<br>

<input type=“Text“ name=“zahl“>

<input type=“Submit“ value=“Absenden“>

</form>

Im nächsten Schritt kommen wir jetzt zur while-Schleife, bei der wir natürlich zuerst den Zahlenwert abfragen. Bei while-Schleifen hat man üblicherweise einen internen Counter, der als erstes initialisiert werden muss, hier mit der Wert 0.


<?php

$zahl = $_POST['zahl'];

 

$a = 0;

?>

Die Zahl wird mit der Variablen „$a“ gespeichert, wobei Sie allerdings auch jede andere Variable nutzen können. Dieser Wert entscheidet darüber, von welcher Zahl an PHP zählen soll. Sie könnten daher auch – 50 angeben. Danach wird die while-Schleife benötigt.


<?php

while($a < $zahl)

{

$a++;

echo $a.", ";

}

?>

Unmittelbar hinter dem einleitenden „while“ folgt innerhalb einer runden Klammer die Bedingung. Die Anweisung des Codes innerhalb der geschwungenen Klammern wird nun so lange ausgeführt, wie die dazugehörigen Bedingungen erfüllt sind. Zunächst erhöhen Sie den Wert von $a um eins, da Sie als erste Zahl eine „1“ haben möchten. Sie könnten am Ende natürlich auch „$a++“ schreiben, dann wäre die erste Anzeige eine „0“.

Die Erhöhung der Variablen „$a“ ist sehr wichtig, da sich PHP sonst dumm und dusselig zählen würde, da die Bedingungen ja immer stimmen. Das Script hat dann folgendes Aussehen:



<?php

$zahl = $_POST["zahl"];

 

//Eine Überprüfung,

//damit keine zu großen Zahlen eingegeben werden

if($zahl > 25)

{

$zahl = 25;

}

 

$a = 0;

while($a < $zahl)

{

$a++;

echo $a.", ";

}

?>

for-Schleife

Zusätzlich zur while-Schleife gibt es noch die „for-Schleife. Sie ist etwas komplizierter, mit ihr kann man vom Grundsatz her nur rauf- oder runterzählen. Dabei können wir wieder auf das vorherige Beispiel zurückgreifen:


<?php

$zahl = $_POST["zahl"];

 

if($zahl > 25)

{

$zahl = 25;

}

?>

Jetzt folgt die „for-Schleife“

<?php

for($a = 0; $a < $zahl; $a++)

{

echo $a;

echo ", ";

}

?>

Bei einer „for-Schleife“ wird die Variable „$a“ in der runden Klammer angegeben. Hinter dem ersten Semikolon wird dann die Bedingung angegeben. Am Ende, das auch durch ein Semikolon getrennt wird, wird die Werterhöhung von $a um 1 vorgegeben.

Als Startwert wird eine 0 gesetzt, die Schleife läuft insgesamt „$zahl“ (25x), beginnend mit einer 0. Schleifen werden sehr häufig benötigt, wenn mit Dateien oder Datenbanken gearbeitet wird.

Wir benutzen als Startwert 0, und die Schleife läuft insgesamt $zahl (max. 25) mal durch. Die erste Ausgabe wird eine 0 sein.

Schleifen braucht man sehr oft, wenn man mit Datenbanken oder Dateien arbeitet.

————————————————————————————————
PHP ist das, was man eine serverseitige Scriptsprache nennt, welche zur Programmierung von dynamischen Webseiten gedacht ist. Im Gegensatz zum normalen HTML sind Websites mit PHP in der Lage, auf vielfältige Art und Weise auf Besucher der Seiten zu reagieren. Das reicht von einfachen Begrüßungsformeln mit Tageszeit bis hin zum Durchsuchen vollständiger Datenbanken.

Die von Rasmus Lerdorf 1995 entwickelte Programmiersprache wird inzwischen auf rund 75% aller Internetseiten eingesetzt. Der Vertrieb von PHP erfolgt über eine PHP-Lizenz, die die freie Verwendung und Anpassung des Quelltextes ermöglicht. Es ist nicht notwendig Geld auszugeben um PHP zu lernen. Selbst die im Internet, meist kostenlos, angebotenen PHP-Editoren müssen Sie nicht zwingend zur Programmierung von PHP verwenden, ein einfacher, normaler Texteditor ist vollkommen ausreichend. Oft verleihen auch schon kleinere Funktionen einer Webseite Attraktivität. Die Liste der interessanten Kleinigkeiten ist lang, sie beginnt bei Foren oder Abstimmungen und ist mit seiteninternen Suchmaschinen, kleinen Spielen, Countern oder Auktionen noch lange nicht zu Ende. All diese Dinge sind mit PHP schnell und einfach zu programmieren, mit inzwischen weit über 1.000 Befehlen ist PHP eine der mächtigsten Programmiersprachen.

So wurde PHP, im Gegensatz zu Perl, bei der Programmierung speziell auf das Web ausgerichtet. Das ist an vielen Punkten erkennbar. Jeder, der über grundsätzliche Erfahrungen beim Programmieren verfügt ist in der Lage, die Befehle von PHP einfach zu lernen und umzusetzen. Und was sollte schließlich noch einfacher sein, als die notwendigen PHP-Codes einfach an den notwendigen Stellen in den HTML-Code einzufügen.

Diese Dinge sind notwendig, weil es notwendig ist, dass ein Computer auf irgendeine Art und Weise erfährt, was er überhaupt zu tun hat. Ein Computer ist letzten Endes nur so schlau wie derjenige, der ihn programmiert, und dazu benötigt man Programmiersprachen wie PHP. Diese Programmiersprache und Programmierung ist für den Computer das, was beim Menschen Bedienungsanleitung heißt. Da Computer jedoch nicht Deutsch, Französisch oder Englisch sprechen sondern ihre eigene Sprache haben, muss der Programmierer darüber kommunizieren. Da bietet sich PHP, da einfach erlernbar, sehr umfangreich und im Besitz von Vorlagen für alle erforderlichen Anwendungen, geradezu an. Am einfachsten lässt sich das mit Textbausteinen vergleichen, wobei es um eine riesige Community geht. Schauen Sie sich dazu unser kleines Tutorial an, in welchem wir die wichtigsten Bausteine zusammengefasst haben, zur besseren Übersicht erhalten Sie hier bereits vorab wichtige Infos über die Inhalte des Tutorials.

Variablen: hierbei handelt es sich um Platzhalter, die für die Programmausführung frei zur Verfügung stehen. Sie sind nicht nur in der Wertbelegung frei wählbar, auch die Bezeichnung einer Variablen ist größtenteils auswahlfähig. Man erkennt PHP-Variable immer daran, dass sie mit einem Dollar-Zeichen „$“ beginnen. So heißen Variable beispielsweise „$vorname“ oder „$meinname“. Bei der Bezeichnung von Variablen gibt es bei der Benennung nur dahingehend Einschränkungen, dass PHP-Funktionsnamen reserviert sind.

Textausgabe: Webseiten werden durch PHP interaktiv. Beispielsweise können Formulareingaben kontrolliert und ausgewertet werden. Natürlich ist es ärgerlich, 20 Eingabefelder auszufüllen, abschicken anklickt und dann eine Fehlermeldung bekommt. Es ist nicht ganz bedeutungslos, ob das PHP Programm fehlerhafte Eingaben überhaupt erkennt und wenn ja, ob und wie diese angezeigt werden. Ein Textangabe ist daher absolut notwendig und müssen sein, damit die Benutzer eine Rückmeldung erhalten. Hierfür kennt PHP die Befehle „echo“ und „print“.

Include(): Diese Anweisung ist hilfreich beim Einbinden von Quellcodes. Beim Aufrufen der Funktion wird der angesprochene Dateiname, bzw. deren Inhalt, eingebunden in die aufgerufene Datei. Diese Verkettung sorgt dafür, dass der Code übersichtlich bleibt und man eine Menge Arbeit spart. Das sorgt für einen modularen Programmaufbau. Eine Anpassung des PHP-Scripts und die Suche nach Fehlern wird dadurch wesentlich vereinfacht. Es muss lediglich noch eine Datei editiert werden, alle übrigen Dateien, die auf die editierte Datei zugreifen, bleiben unverändert. Außerdem wird die Arbeit erleichtert, wenn mehrere gleichzeitig an einem komplexen Skript arbeiten. So wird sichergestellt, dass niemand die Änderungen anderer wieder überschreibt. Es muss auch niemand zum scripten Kenntnis über das gesamte Programm haben.

Array: Bei Arrays handelt es sich um Wertelisten, die aus einem key-value bestehen. Bei einfachen Arrays beginnen die Index-Werte bei „0“. Assoziative Arrays dagegen können sowohl vom Key als auch vom Wert her frei bestimmt werden. Auf PHP-Formulare übertragen bedeutet das: Mit „key“ wird der Name des Formularfeldes bestimmt, mit „Value“ der eingetragene Wert.

If-else: Das hat die Bedeutung „wenn, dann“. Die Entscheidungsstruktur von if-else sorgt dafür, dass man in den Formularen zum Beispiel Zugriffsrechte davon abhängig machen kann, ob bestimmt Bedingungen erfüllt sind. Daraus resultieren letztenldich flexible Reaktionen des aufgerufenen Programms. Sind eventuell vom Programm erfolgte Abfragen wahrheitsgemäß beantwortet, geht es weiter mit Schritt „A“. Waren die Antworten nicht richtig, geht es mit „B“ weiter.

For-Schleife: Damit kann mittels Angabe einer Ablauf- oder Stoppbedingung ein Array ausgegeben erden. An den richtigen Stellen eingesetzt, helfen for-Schleifen dabei, eine Menge Arbeit zu sparen.