hier zeige ich euch Tutorinals, wie ihr schnell und einfach PHP erlernt!
1. PHP installieren
2. Erste Schritte
3. PHP Variablen
PHP Installieren
PHP ist eine serverseitige Scriptsprache, das heißt, damit man PHP Programme bzw. die PHP Scripts ausführen kann, benötigt man einen Webserver. Zum Glück geht das installieren leichter als es sich anhört.
Mit installieren wir einen Apache Server auf den eigenen Rechner, dazu noch PHP, MySQL und vieles mehr.
Lad dir auf der angegeben Seite die Installer-Version für Windows (sofern dies dein Betriebssystem sein sollte) runter.
Solltest du keinen Breitbandanschluss besitzen, reicht auf die Lite-Version von XAMPP. Diese bietet allerdings keinen Installer an, deswegen musst du nach dem Entpacken der Archives (entweder Zip oder Exe-Archiv) die setup_xampp.bat aufrufen.
Weitere Infos zum Installieren der Lite-Version findest du .
Der Installer von XAMPP fragt, wohin man das Packet installiert haben möchte. Ich habe z.B. c:\xampp\ angegeben, andere Pfade sind auch möglich.
Möchten wir jetzt unsere PHP-Scripts anschauen, so kopieren/speichern wir sie in den htdocs Ordner, z.B. liegt er so: c:\xampp\xampp\htdocs.
Anschließend starten wir Xampp, das geht, indem wir die xampp_start.exe aufrufen und rufen unsere Scripts dann mit dem Internet Browser auf.
Wenn wir den normalen Dateipfad (c:\xampp\...) benutzen wird der enthaltene PHP-Code nicht ausgeführt, deshalb müssen wir die Scripts über den Webserver abrufen.
Die Adresse ist bzw. .
Dort wählen wir dann die PHP Datei aus und schon wird der Script ausgeführt.
Tipp: Lösche die enthaltenen Dateien im Ordner htdocs, die Ordner können erhalten bleiben. So werden die PHP Dateien in einer Liste angezeigt.
Wenn eine Fehlermeldung erscheint, dann versuche mal die komplette URL zur Seite anzugeben, also . Wenn ihr Unterordner im htdocs Ordner habt, dann muss der Name auch in der URL angegeben werden.
Das war schon das ganze Geheimnis der Server Installation.
Wenn man jetzt Xampp installiert hat, und den Apache Server startet, so ist dort normalerweise die aktuellste PHP Version installiert.
Mit installieren wir einen Apache Server auf den eigenen Rechner, dazu noch PHP, MySQL und vieles mehr.
Lad dir auf der angegeben Seite die Installer-Version für Windows (sofern dies dein Betriebssystem sein sollte) runter.
Solltest du keinen Breitbandanschluss besitzen, reicht auf die Lite-Version von XAMPP. Diese bietet allerdings keinen Installer an, deswegen musst du nach dem Entpacken der Archives (entweder Zip oder Exe-Archiv) die setup_xampp.bat aufrufen.
Weitere Infos zum Installieren der Lite-Version findest du .
Der Installer von XAMPP fragt, wohin man das Packet installiert haben möchte. Ich habe z.B. c:\xampp\ angegeben, andere Pfade sind auch möglich.
Möchten wir jetzt unsere PHP-Scripts anschauen, so kopieren/speichern wir sie in den htdocs Ordner, z.B. liegt er so: c:\xampp\xampp\htdocs.
Anschließend starten wir Xampp, das geht, indem wir die xampp_start.exe aufrufen und rufen unsere Scripts dann mit dem Internet Browser auf.
Wenn wir den normalen Dateipfad (c:\xampp\...) benutzen wird der enthaltene PHP-Code nicht ausgeführt, deshalb müssen wir die Scripts über den Webserver abrufen.
Die Adresse ist bzw. .
Dort wählen wir dann die PHP Datei aus und schon wird der Script ausgeführt.
Tipp: Lösche die enthaltenen Dateien im Ordner htdocs, die Ordner können erhalten bleiben. So werden die PHP Dateien in einer Liste angezeigt.
Wenn eine Fehlermeldung erscheint, dann versuche mal die komplette URL zur Seite anzugeben, also . Wenn ihr Unterordner im htdocs Ordner habt, dann muss der Name auch in der URL angegeben werden.
Das war schon das ganze Geheimnis der Server Installation.
Wenn man jetzt Xampp installiert hat, und den Apache Server startet, so ist dort normalerweise die aktuellste PHP Version installiert.
2.Erste Schritte
Um zu sehen, ob auf einem Server überhaupt PHP installiert ist, benötigt man eine PHP-Datei (z.B. phpinfo.php) mit folgendem Inhalt:
<?php
phpinfo();
?>
Diesen Code kannst du einfach in einem Texteditor, z.B. Notepad einfügen. Danach klickst du auf speichern, und gibst als Dateinamen phpinfo.php an.
Bitte achte darauf, dass Notepade diese Datei nicht als Textdatei speichert.
Dann kopierst du die Datei in den Ordner htdocs.
Ruft man diese Seite jetzt auf (), wird angezeigt, ob auf diesem Server PHP installiert ist oder nicht. Ist PHP installiert, werden mehrere Tabellen angezeigt, in welchen aufgelistet wird, was installiert ist und was nicht, unter anderem welche PHP-Version auf dem Server installiert ist (steht ganz oben).
Ist kein PHP Installiert, wird entweder nichts angezeigt oder eine Fehlermeldung wird ausgegeben, evt. wird uns die Datei auch zum Download angeboten.
PHP-Einbinden
In einer PHP-Datei können sowohl HTML-Befehle, als auch PHP-Befehle enthalten sein. Die HTML-Befehle schreiben wir wie gewohnt in die PHP-Datei, so wie wir es aus den HTML-Dateien kennen.
Möchte man jetzt in die PHP-Datei PHP-Befehle einbinden, so muss man erst mit einer Einleitung bestimmen, dass jetzt ein PHP-Script folgt.
Dafür gibt es 3 Möglichkeiten.
Die kürzeste Möglichkeit ist <?. Dazu muss allerdings eine bestimmte Einstellung gesetzt sein (short_open_tag).
Ist die Einstellung off, benötigt man <?php.
Danach folgen die PHP-Befehle.
Als Abschluss des PHP-Scripts (bei <? und <?php) benötigen wir noch ein ?>.
Es gibt auch eine längere Version, diese sieht so aus:
<script language="php"> PHP-Anweisungen </script>
Diese Variante würde ich nicht empfehlen, da sie keine Vorteile bringt und einfach nur länger ist.
Text ausgeben
Als erstes lernen wir, wie man einen normalen Text mit PHP ausgibt.
Dies geht mit Hilfe von echo bzw. print. Bei unseren Scripts wird immer echo benutzt.
Wir legen eine neue Datei an (z.B. hallo.php) und geben in diese folgenden Inhalt ein:
<?php
echo "Hello World";
?>
Wird nun diese Datei mit dem Browser aufgerufen, so erscheint als Ausgabe: Hello World.
Dies steht auch genauso im Browser-Quelltext (Quelltext anzeigen), aber ohne die PHP-Anweisungen. (die spitzen Klammern und was so dazugehört).
Dies bedeutet, der eigentliche PHP-Code ist nicht sichtbar und kann somit auch nicht kopiert und geklaut werden.
Wie schon oben erklärt, rufen wir ein PHP-Script immer in der ersten Zeile mit <?php auf.
In der nächsten Zeile folgt dann die PHP-Anweisung
echo "Hello World";
echo ist die Anweisung, einen bestimmten Text auszugeben.
Dieser Text steht zwischen den beiden Anführungszeichen. Das Semikolon ( beendet die Funktion echo. Fast jeder Befehl (bis auf wenige Ausnahmen) enden mit einem Semikolon (.
Mit ?> beenden wir das PHP-Script.
Alles zwischen den Anführungszeichen gilt als Text und kann frei definiert werden, auch HTML-Befehle sind möglich z.B.
echo "<b>Hello World</b>";
Damit würde das Hello World als Fett ausgegeben werden.
Möchte man jetzt Hello "World" ausgeben lassen, dann denkt man zuerst an folgende Schreibweise:
<?php
echo "Hello "World"";
?>
Allerdings erhalten wir dann die folgende Fehlermeldung:
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\xampp\xampp\htdocs\hallo.php on line 2
Diese Fehlermeldung ist sehr brauchbar, denn daran ist erkennbar, wo der Fehler begangen wurde und meistens auch welcher.
on line 2 zeigt an, dass der Fehler in Zeile 2 liegt.
In dieser Zeile steht diese Anweisung:
echo "Hello "World"";
Also muss hier irgendetwas falsch sein!
Eigentlich ist es ganz logisch.
Der Befehl echo startet die Ausgabe immer ab dem 1. Anführungszeichen und gibt alles bis zum 2. Anführungszeichen aus.
Da aber in dieser Befehlszeile insgesamt 4 Anführungszeichen zur Textausweisung benutzt werden, ist keine klare Definition gegeben. Deshalb erfolgt diese Fehlermeldung und nicht die gewünschte Ausgabe.
Also müssen wir die Anführungszeichen bei "World" mit einem Maskierungszeichen versehen.
Dazu benutzen wir den Backslash (\).
Das Script sieht dann so aus:
<?php
echo "Hello \"World\"";
?>
Dieses Maskierungszeichen muss vor jedem Anführungszeichen stehen, das als Text ausgegeben werden soll.
Aber was ist wenn wir jetzt einen Backslash ausgeben möchten ? Auch dies geht, allerdings wird dafür wieder ein Maskierungszeichen benötigt. Dazu nehmen wir einfach ein zweiten Backslash.
Dies sieht dann so aus:
<?php
echo "c:\\xampp";
?>
Die Ausgabe ist dann: c:\xampp
PHP Seiten können aus PHP Scripts und HTML Befehlen bestehen, z.B. so:
<h2>Herzlich Willkommen</h2>
<?php
echo "Auf meiner Internetseite";
?>
Dies war auch schon alles, was man über den Befehl echo wissen muss.
Wozu brauche ich denn diesen echo Befehl?
Man kann doch einen Text ja auch einfach mit HTML ausgeben.
Der Nachteil von HTML ist, dass keine dynamischen Texte ausgegeben werden können.
Anders bei PHP.
Auch wenn man PHP perfekt beherrscht, alle Texte werden mit echo (o.ä.) ausgegeben.
Das Besondere daran ist, dass diese Texte dann meistens dynamisch, z.B. aus einer Datenbank, erzeugt werden.
Allerdings steuert man dann die Ausgabe, mit Hilfe von bestimmten Variablen. Der Besucher bestimmt dann meistens selbst, welchen Text er erhält.
So ist das auch bei einem Forum. In der Titelzeile stehen bei Foren fast immer Werte (z.B. ?id=131&seite=2). Diese Werte bestimmen, welche Ausgabe der Besucher erhält.
Kommentare
Um in einem PHP-Script einen Kommentar einzufügen, oder um einen Befehl zu deaktivieren, benutzt man # (Raute) oder // (2 Shlashs)
Alles was nach diesen Zeichen steht, wird nicht ausgeführt und ist in der Ausgabe auch nicht sichtbar. Durch einen Zeilenumbruch beenden wir den Kommentar.
Kommentare sollten öfters benutzt werden, da man dadurch die Möglichkeit hat, den Überblick zu bewahren. Auch wenn man z.B. nach zwei Monaten an dem Script etwas ändern möchte, helfen diese.
<?php
//Dies ist ein Kommentar
#Ausgabe des Text
echo "Hallo Welt";
?>
Manchmal ist es auch sinnvoll ein Kommentar über mehrere Zeilen zu haben, wenn man z.B. einen Programmabschnitt auskommentieren möchte.
Solch ein Kommentar startet mit /* und endet mit */:
<?php
/* Kommentar startet
Ausgabe des Textes
Ende des Kommentares */
echo "Hallo Welt";
?>
<?php
phpinfo();
?>
Diesen Code kannst du einfach in einem Texteditor, z.B. Notepad einfügen. Danach klickst du auf speichern, und gibst als Dateinamen phpinfo.php an.
Bitte achte darauf, dass Notepade diese Datei nicht als Textdatei speichert.
Dann kopierst du die Datei in den Ordner htdocs.
Ruft man diese Seite jetzt auf (), wird angezeigt, ob auf diesem Server PHP installiert ist oder nicht. Ist PHP installiert, werden mehrere Tabellen angezeigt, in welchen aufgelistet wird, was installiert ist und was nicht, unter anderem welche PHP-Version auf dem Server installiert ist (steht ganz oben).
Ist kein PHP Installiert, wird entweder nichts angezeigt oder eine Fehlermeldung wird ausgegeben, evt. wird uns die Datei auch zum Download angeboten.
PHP-Einbinden
In einer PHP-Datei können sowohl HTML-Befehle, als auch PHP-Befehle enthalten sein. Die HTML-Befehle schreiben wir wie gewohnt in die PHP-Datei, so wie wir es aus den HTML-Dateien kennen.
Möchte man jetzt in die PHP-Datei PHP-Befehle einbinden, so muss man erst mit einer Einleitung bestimmen, dass jetzt ein PHP-Script folgt.
Dafür gibt es 3 Möglichkeiten.
Die kürzeste Möglichkeit ist <?. Dazu muss allerdings eine bestimmte Einstellung gesetzt sein (short_open_tag).
Ist die Einstellung off, benötigt man <?php.
Danach folgen die PHP-Befehle.
Als Abschluss des PHP-Scripts (bei <? und <?php) benötigen wir noch ein ?>.
Es gibt auch eine längere Version, diese sieht so aus:
<script language="php"> PHP-Anweisungen </script>
Diese Variante würde ich nicht empfehlen, da sie keine Vorteile bringt und einfach nur länger ist.
Text ausgeben
Als erstes lernen wir, wie man einen normalen Text mit PHP ausgibt.
Dies geht mit Hilfe von echo bzw. print. Bei unseren Scripts wird immer echo benutzt.
Wir legen eine neue Datei an (z.B. hallo.php) und geben in diese folgenden Inhalt ein:
<?php
echo "Hello World";
?>
Wird nun diese Datei mit dem Browser aufgerufen, so erscheint als Ausgabe: Hello World.
Dies steht auch genauso im Browser-Quelltext (Quelltext anzeigen), aber ohne die PHP-Anweisungen. (die spitzen Klammern und was so dazugehört).
Dies bedeutet, der eigentliche PHP-Code ist nicht sichtbar und kann somit auch nicht kopiert und geklaut werden.
Wie schon oben erklärt, rufen wir ein PHP-Script immer in der ersten Zeile mit <?php auf.
In der nächsten Zeile folgt dann die PHP-Anweisung
echo "Hello World";
echo ist die Anweisung, einen bestimmten Text auszugeben.
Dieser Text steht zwischen den beiden Anführungszeichen. Das Semikolon ( beendet die Funktion echo. Fast jeder Befehl (bis auf wenige Ausnahmen) enden mit einem Semikolon (.
Mit ?> beenden wir das PHP-Script.
Alles zwischen den Anführungszeichen gilt als Text und kann frei definiert werden, auch HTML-Befehle sind möglich z.B.
echo "<b>Hello World</b>";
Damit würde das Hello World als Fett ausgegeben werden.
Möchte man jetzt Hello "World" ausgeben lassen, dann denkt man zuerst an folgende Schreibweise:
<?php
echo "Hello "World"";
?>
Allerdings erhalten wir dann die folgende Fehlermeldung:
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\xampp\xampp\htdocs\hallo.php on line 2
Diese Fehlermeldung ist sehr brauchbar, denn daran ist erkennbar, wo der Fehler begangen wurde und meistens auch welcher.
on line 2 zeigt an, dass der Fehler in Zeile 2 liegt.
In dieser Zeile steht diese Anweisung:
echo "Hello "World"";
Also muss hier irgendetwas falsch sein!
Eigentlich ist es ganz logisch.
Der Befehl echo startet die Ausgabe immer ab dem 1. Anführungszeichen und gibt alles bis zum 2. Anführungszeichen aus.
Da aber in dieser Befehlszeile insgesamt 4 Anführungszeichen zur Textausweisung benutzt werden, ist keine klare Definition gegeben. Deshalb erfolgt diese Fehlermeldung und nicht die gewünschte Ausgabe.
Also müssen wir die Anführungszeichen bei "World" mit einem Maskierungszeichen versehen.
Dazu benutzen wir den Backslash (\).
Das Script sieht dann so aus:
<?php
echo "Hello \"World\"";
?>
Dieses Maskierungszeichen muss vor jedem Anführungszeichen stehen, das als Text ausgegeben werden soll.
Aber was ist wenn wir jetzt einen Backslash ausgeben möchten ? Auch dies geht, allerdings wird dafür wieder ein Maskierungszeichen benötigt. Dazu nehmen wir einfach ein zweiten Backslash.
Dies sieht dann so aus:
<?php
echo "c:\\xampp";
?>
Die Ausgabe ist dann: c:\xampp
PHP Seiten können aus PHP Scripts und HTML Befehlen bestehen, z.B. so:
<h2>Herzlich Willkommen</h2>
<?php
echo "Auf meiner Internetseite";
?>
Dies war auch schon alles, was man über den Befehl echo wissen muss.
Wozu brauche ich denn diesen echo Befehl?
Man kann doch einen Text ja auch einfach mit HTML ausgeben.
Der Nachteil von HTML ist, dass keine dynamischen Texte ausgegeben werden können.
Anders bei PHP.
Auch wenn man PHP perfekt beherrscht, alle Texte werden mit echo (o.ä.) ausgegeben.
Das Besondere daran ist, dass diese Texte dann meistens dynamisch, z.B. aus einer Datenbank, erzeugt werden.
Allerdings steuert man dann die Ausgabe, mit Hilfe von bestimmten Variablen. Der Besucher bestimmt dann meistens selbst, welchen Text er erhält.
So ist das auch bei einem Forum. In der Titelzeile stehen bei Foren fast immer Werte (z.B. ?id=131&seite=2). Diese Werte bestimmen, welche Ausgabe der Besucher erhält.
Kommentare
Um in einem PHP-Script einen Kommentar einzufügen, oder um einen Befehl zu deaktivieren, benutzt man # (Raute) oder // (2 Shlashs)
Alles was nach diesen Zeichen steht, wird nicht ausgeführt und ist in der Ausgabe auch nicht sichtbar. Durch einen Zeilenumbruch beenden wir den Kommentar.
Kommentare sollten öfters benutzt werden, da man dadurch die Möglichkeit hat, den Überblick zu bewahren. Auch wenn man z.B. nach zwei Monaten an dem Script etwas ändern möchte, helfen diese.
<?php
//Dies ist ein Kommentar
#Ausgabe des Text
echo "Hallo Welt";
?>
Manchmal ist es auch sinnvoll ein Kommentar über mehrere Zeilen zu haben, wenn man z.B. einen Programmabschnitt auskommentieren möchte.
Solch ein Kommentar startet mit /* und endet mit */:
<?php
/* Kommentar startet
Ausgabe des Textes
Ende des Kommentares */
echo "Hallo Welt";
?>
3.PHP Variablen
In PHP werden Texte oder auch Zahlen in sogenannten PHP Variablen bzw. einfach nur Variablen gespeichert, um diese dann später mit Hilfe von echo wieder auszugeben.
Variablen in PHP beginnen immer mit einem Dollarzeichen ($),
direkt gefolgt vom Variablen-Namen, danach ein "Gleichheitszeichen" (=) und anschließend der Text in Anführungszeichen (") eingebunden. Am Ende das Semikolon als Befehlsabschluss(.
Den Variablen kann man einen beliebig passenden Namen geben, allerdings muss auf Groß- und Kleinschreibung geachtet werden.
Ich würde die Variablen immer klein schreiben, damit kein Durcheinander und damit auch keine Fehlerquellen entstehen können.
Eine Variable in PHP kann z.B. so aussehen:
<?php
$name = "Nils Reimers";
?>
In diesem Beispiel wird die Variable $name mit dem Inhalt Nils Reimers definiert.
Zu beachten dabei ist, dass Variablennamen mit einem Buchstaben oder einem Unterstrich beginnen. Zahlen dürfen als Anfangszeichen nicht benutzt werden.
Wenn wir eine Variable doppelt "definieren", so überschreiben wir den Inhalt der Variable. Per Echo wird dann nur der aktuelle Inhalt ausgegeben.
Natürlich muss der echo-Befehl nach der Variable-Definition stehen, da PHP eine Interpreter-Sprache ist und den Code zeilenweise von oben nach unten abarbeitet.
Wenn echo vor der Variable steht, so versuchen wir eine nicht definierte Variable auszugeben und erhalten eine leere Ausgabe.
Sofern bestimmte Einstellungen gesetzt sind, kann es sogar passieren, dass ein Angreifer beliebigen Text einschleusen kann.
Zur Ausgabe benötigt man natürlich wieder den Befehl echo.
Das Script für dieses Beispiel sieht dann so aus:
<?php
$name = "Nils Reimers";
echo "Mein Name ist $name";
?>
Als Ausgabe erhalten wir:
Mein Name ist Nils Reimers
Wir können den Inhalt von einer Variable natürlich auch wieder überschreiben, dazu weisen wir der Variable einfach den neuen Wert zu:
<?php
$name = "Paul Meier";
echo "Zuerst heiße ich $name <br>";
$name = "Stefan Müller";
echo "Dann ist mein Name $name";
?>
Die Ausgabe wäre dann:
Zuerst heiße ich Paul Meier
Dann ist mein Name Stefan Müller
Bisher wäre diese Funktion nur bei sehr langen Texten interessant, möchte man z.B. eine Person an 10 verschiedenen Stellen ansprechen.
Wenn wir jedoch mit echo nur eine Variable abrufen (keinen weiteren Text), dann können (müssen aber nicht) wir die Anführungszeichen weglassen.
Der Code:
<?php
$name = "Nils Reimers";
echo $name;
?>
Man kann auch an eine bereits vorhandene Variable eine weitere Variable, oder einen Text anhängen.
<?php
$name = "Nils ";
$name .= "Reimers";
echo $name;
?>
Ausgabe: Nils Reimers
Soll eine Variable oder ein Text an eine bereits bestehende Variable "angehängt" werden, geschieht dies mit einem Punkt vor dem Gleichheitszeichen. Dadurch erkennt PHP, dass der nach dem Gleichheitszeichen folgende Text oder die folgende Variable an die bestehende Variable angehängt werden soll.
Eine Variable kann theoretisch unendlich oft verlängert werden.
Dies können wir auch direkt in dem echo benutzen:
<?php
$name = "Nils";
echo "Mein Name ist ".$name." Reimers";
?>
Hier haben wir eine zusammengesetzte Ausgabe. Zuerst geben wir Mein Name ist aus, nach den Anführungszeichen setzen wir einen Punkt und dann die Variable.
Nach der Variable können wir entweder mit Semikolon die Ausgabe beenden, aber hier haben wir noch den Text Reimers angehängt.
Dies geht selbstverständlich auch mit Variablen:
<?php
$farbe = "rotes";
$text = "Wir haben ein ".$farbe." Haus";
echo $text;
?>
Diese Methode wird später noch des öfteren benutzt.
Rechnen mit Variablen
Natürlich kann man mit PHP auch rechnen.
Weist man einer Variable eine Zahl zu, so dürfen im Gegensatz zum Text hier keine Anführungszeichen benutzt werden, da PHP dieses sonst als Text behandeln würde.
<?php
$zahl1 = 10;
$zahl2 = 5;
?>
In diesen Variablen sind jetzt die Zahlen 10 und 5 gespeichert.
Jetzt lassen wir mal rechnen:
<?php
echo $zahl1 + $zahl2;
?>
Als Ergebnis erhalten wir die Summe der beiden Zahlen. Natürlich könnten wir dies einfach auch so schreiben:
<?php
echo 10 + 5;
?>
Falls aber diese Zahlen zu einem späteren Zeitpunkt nochmals benutzt werden sollen, speichert man diese am besten in Variablen.
<?php
$zahl = 1;
$ergebnis = $zahl + 5;
echo $ergebnis;
?>
Hier einige 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
?>
Natürlich können auch diese Ergebnisse wieder in extra Variablen gespeichert werden.
Decrementieren und incrementieren
Um den Wert einer Variable um 1 zu erhöhen bzw. um 1 zu verkleinern, gibt es einen einfachen Trick:
<?php
$erhoehen = 1;
$erhoehen++;
echo $erhoehen;
?>
Ausgabe ist 2
<?php
$senken = 2;
$senken--;
echo $senken;
?>
Ausgabe ist 1
Wird an den Variablen-Namen (einer Zahlenvariable) ein doppeltes Pluszeichen in Form von ++ angehängt, so wird der Inhalt dieser Variable, also die Zahl incrementiert, das heißt um 1 erhöht.
Wird dagegen ein -- verwendet, wird der Wert decrementiert, also um 1 gesenkt.
Variablentypen
Da PHP den Typ von Variablen selber festlegt, brauchen wir diesen Aspekt beim Programmieren nicht zu betrachten. Aber in Foren (o.ä.), werden immer bestimmte Fachausdrücke benutzt, um Variablentypen zu beschreiben.
Ein Variablentyp legt fest, welchen Inhalt eine Variable haben soll.
Da aber wie gesagt, PHP den Typen selber festlegt, kann sich der Typ der Variable auch ändern.
Es gibt dabei folgende Typen:
Integer: Eine Integer-Variable enthält nur Ganzzahlen, d.h. Zahlen ohne Komma.
String: Dies ist eine Variable, die einen Text/Satz/Wort enthält.
Float: Eine Dezimalzahl, d.h. eine Zahl mit Komma. Man verwendet aber einen Punkt als Komma.
Double: Das gleiche wie float, nur mit mehr Nachkommastellen.
bool: Dies sind die Werte true und false
Bsp:
<?php
$integer = 15; //Eine Integer Variable
$string = "Ganz viel Text"; //Ein String
$float = 15.5; //Eine Zahl mit einem Komma
$bool = true;
?>
Variablen übergeben
Diese Möglichkeit ist ein sehr wichtiges Detail von PHP, denn damit ist es möglich, z.B. vom Besucher eingegebene Texte oder berechnete Daten auf die nächste Seite zu übertragen.
Es gibt zwei Methoden um Variablen zu übergeben,
POST und GET.
Als erstes schauen wir uns POST an.
Als Beginn erstellen wir eine Seite mit einem ganz normalen Formular.
Dieses könnte zum Beispiel so aussehen:
<form action="seite2.php" method="post">
Ihr Vorname:<br>
<input type="Text" name="vorname">
<input type="Submit" value="Absenden">
</form>
Für dieses Formular benötigen wir kein PHP, also können wir das Formular auch in einem normalen HTML-Dokument speichern (z.B. seite1.html).
Es ist auch wichtig, dass wir allen Eingabefeldern einen einzigartigen Namen zuweisen, damit wir sie nach dem Absenden auf der zweiten Seite auch korrekt abfragen können.
Haben zwei Felder den selben Namen, so wird nur das letztere Feld übertragen, da die vorige Eingabe überschrieben wird (entspricht einer Neudefinition dieser Variable)
Als nächstes erstellen wir seite2.php, an welche die Eingaben (hier: Ihr Name) gesendet wird.
Der Inhalt der seite2.php sieht dann so aus:
<?php
echo $_POST["vorname"];
?>
Wir erinnern uns an das Input-Feld mit dem Namen vorname auf seite1.html, genau diese Eingabe rufen wir jetzt mit $_POST["vorname"]; ab.
Klicken wir auf der Formularseite auf Absenden, so wird seite2.php aufgerufen, dabei werden die Daten übermittelt und von dieser ausgegeben.
Mit $_POST["vorname"]; können wir also die gesendeten Daten wieder abfragen.
["vorname"] gibt den Namen des abgefragten Inputfeldes aus der Formularseite an (hier vorname).
Diese Abfrage kann auch in einer Variable gespeichert werden, um diese dann später flexibler weiterverarbeiten zu können.
Der Code dafür würde so aussehen:
<?php
$vorname = $_POST["vorname"];
echo $vorname;
?>
Soll $_POST["vorname"]; in einer Variable ($vorname) gespeichert werden, darf $_POST["vorname"]; nicht in Anführungszeichen stehen, da dieses sonst als Text interpretiert wird.
Natürlich können wir damit mehrere Eingaben abrufen. Dazu müssen die Befehle untereinander stehen.
<?php
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
?>
Neben der POST Methode gibt es auch noch die GET Methode.
Bei der GET Methode werden die zu übergebene Daten an die URL angehängt.
Würden wir unser Formular mit der Methode GET verschicken, so würde die URL am Ende etwa so aussehen.
seite2.php?vorname=Nils
Mit dem ? bestimmt der Browser, dass an die URL bestimmte Eingaben angehängt werden.
Das erste Wort nach dem Fragezeichen (vorname) ist der Feldname des Input-Feldes.
Alles was nach dem Gleichheitszeichen steht, ist die Eingabe (Nils).
Möchte man jetzt mehr als ein Feld übertragen, so werden die weiteren Feldnamen mit einem Und-Zeichen (&) angehängt.
Das sieht dann so aus:
seite2.php?nachname=Reimers&vorname=Nils
Werden diese Eingaben abrufen, sieht das so aus:
<?php
echo $_GET["nachname"];
echo $_GET["vorname"];
?>
Natürlich können wir diese Daten jeweils auch wieder in einzelne Variablen speichern.
Ältere Versionen
Falls ihr eine ältere Version als 4.1.0 benutzt, müsst ihr noch die Langform der Befehle schreiben. Anstatt $_POST["feldname"]; müsst ihr dann $HTTP_POST_VARS["Feldname"]; und aus $_GET["Feldname"]; wird $HTTP_GET_VARS["Feldname"];.
Die Langformen werden genauso angewendet, wie die Kurzformen.
Allerdings sollte man, sofern es funktioniert, die Kurzform benutzen.
POST oder GET?
Wann benutzt man POST und wann GET ?
Die Frage ist leicht zu beantworten. Wenn man Eingaben aus einem Formular übergeben möchte, so sollte man immer POST benutzen.
Warum ?
Mit GET werden die Eingaben der URL angehängt, dadurch ist die Textlänge eingeschränkt, außerdem kann jeder im Browser-Verlauf an der URL erkennen, was als Daten übermittelt wurde, und bei einer Passworteingabe ist das nicht so schön.
Vorteil von GET
GET wird benutzt, wenn man einfache Informationen übergeben möchte. Soll zum Beispiel mit dem Klick auf einen Link eine Auswahl übergeben werden, so benutzt man die Methode GET
Ein Link in einer aufrufenden Seite könnte dann so aussehen:
<a href="buch.php?seite=1">Seite 1</a>
In diesem Beispiel würde die Eingabe 1 übermittelt werden.
Solche Links werden in PHP zur Programmierung dynamischer Seiten benutzt (z.B. Foren).
Wozu brauche ich später Variablen?
Nun haben wir jetzt die ersten Grundlagen über Variablen kennen gelernt.
Fragt man Einträge aus einer Datenbank oder Datei ab, werden diese zur besseren Übersicht erst in Variablen gespeichert, dann aufbereitet (selektiert, sortiert, oder berechnet) und erst danach mit echo wieder ausgegeben.
Außerdem werden wir später kennen lernen, wie man Variablen überprüfen kann, also ob z.B. der Name Nils war oder ähnliches. Falls ihr hier Probleme habt, solltet Ihr diesen Abschnitt noch mal lesen.
Denn alles was jetzt folgt, fragt, überprüft und gibt Variablen aus.
Variablen in PHP beginnen immer mit einem Dollarzeichen ($),
direkt gefolgt vom Variablen-Namen, danach ein "Gleichheitszeichen" (=) und anschließend der Text in Anführungszeichen (") eingebunden. Am Ende das Semikolon als Befehlsabschluss(.
Den Variablen kann man einen beliebig passenden Namen geben, allerdings muss auf Groß- und Kleinschreibung geachtet werden.
Ich würde die Variablen immer klein schreiben, damit kein Durcheinander und damit auch keine Fehlerquellen entstehen können.
Eine Variable in PHP kann z.B. so aussehen:
<?php
$name = "Nils Reimers";
?>
In diesem Beispiel wird die Variable $name mit dem Inhalt Nils Reimers definiert.
Zu beachten dabei ist, dass Variablennamen mit einem Buchstaben oder einem Unterstrich beginnen. Zahlen dürfen als Anfangszeichen nicht benutzt werden.
Wenn wir eine Variable doppelt "definieren", so überschreiben wir den Inhalt der Variable. Per Echo wird dann nur der aktuelle Inhalt ausgegeben.
Natürlich muss der echo-Befehl nach der Variable-Definition stehen, da PHP eine Interpreter-Sprache ist und den Code zeilenweise von oben nach unten abarbeitet.
Wenn echo vor der Variable steht, so versuchen wir eine nicht definierte Variable auszugeben und erhalten eine leere Ausgabe.
Sofern bestimmte Einstellungen gesetzt sind, kann es sogar passieren, dass ein Angreifer beliebigen Text einschleusen kann.
Zur Ausgabe benötigt man natürlich wieder den Befehl echo.
Das Script für dieses Beispiel sieht dann so aus:
<?php
$name = "Nils Reimers";
echo "Mein Name ist $name";
?>
Als Ausgabe erhalten wir:
Mein Name ist Nils Reimers
Wir können den Inhalt von einer Variable natürlich auch wieder überschreiben, dazu weisen wir der Variable einfach den neuen Wert zu:
<?php
$name = "Paul Meier";
echo "Zuerst heiße ich $name <br>";
$name = "Stefan Müller";
echo "Dann ist mein Name $name";
?>
Die Ausgabe wäre dann:
Zuerst heiße ich Paul Meier
Dann ist mein Name Stefan Müller
Bisher wäre diese Funktion nur bei sehr langen Texten interessant, möchte man z.B. eine Person an 10 verschiedenen Stellen ansprechen.
Wenn wir jedoch mit echo nur eine Variable abrufen (keinen weiteren Text), dann können (müssen aber nicht) wir die Anführungszeichen weglassen.
Der Code:
<?php
$name = "Nils Reimers";
echo $name;
?>
Man kann auch an eine bereits vorhandene Variable eine weitere Variable, oder einen Text anhängen.
<?php
$name = "Nils ";
$name .= "Reimers";
echo $name;
?>
Ausgabe: Nils Reimers
Soll eine Variable oder ein Text an eine bereits bestehende Variable "angehängt" werden, geschieht dies mit einem Punkt vor dem Gleichheitszeichen. Dadurch erkennt PHP, dass der nach dem Gleichheitszeichen folgende Text oder die folgende Variable an die bestehende Variable angehängt werden soll.
Eine Variable kann theoretisch unendlich oft verlängert werden.
Dies können wir auch direkt in dem echo benutzen:
<?php
$name = "Nils";
echo "Mein Name ist ".$name." Reimers";
?>
Hier haben wir eine zusammengesetzte Ausgabe. Zuerst geben wir Mein Name ist aus, nach den Anführungszeichen setzen wir einen Punkt und dann die Variable.
Nach der Variable können wir entweder mit Semikolon die Ausgabe beenden, aber hier haben wir noch den Text Reimers angehängt.
Dies geht selbstverständlich auch mit Variablen:
<?php
$farbe = "rotes";
$text = "Wir haben ein ".$farbe." Haus";
echo $text;
?>
Diese Methode wird später noch des öfteren benutzt.
Rechnen mit Variablen
Natürlich kann man mit PHP auch rechnen.
Weist man einer Variable eine Zahl zu, so dürfen im Gegensatz zum Text hier keine Anführungszeichen benutzt werden, da PHP dieses sonst als Text behandeln würde.
<?php
$zahl1 = 10;
$zahl2 = 5;
?>
In diesen Variablen sind jetzt die Zahlen 10 und 5 gespeichert.
Jetzt lassen wir mal rechnen:
<?php
echo $zahl1 + $zahl2;
?>
Als Ergebnis erhalten wir die Summe der beiden Zahlen. Natürlich könnten wir dies einfach auch so schreiben:
<?php
echo 10 + 5;
?>
Falls aber diese Zahlen zu einem späteren Zeitpunkt nochmals benutzt werden sollen, speichert man diese am besten in Variablen.
<?php
$zahl = 1;
$ergebnis = $zahl + 5;
echo $ergebnis;
?>
Hier einige 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
?>
Natürlich können auch diese Ergebnisse wieder in extra Variablen gespeichert werden.
Decrementieren und incrementieren
Um den Wert einer Variable um 1 zu erhöhen bzw. um 1 zu verkleinern, gibt es einen einfachen Trick:
<?php
$erhoehen = 1;
$erhoehen++;
echo $erhoehen;
?>
Ausgabe ist 2
<?php
$senken = 2;
$senken--;
echo $senken;
?>
Ausgabe ist 1
Wird an den Variablen-Namen (einer Zahlenvariable) ein doppeltes Pluszeichen in Form von ++ angehängt, so wird der Inhalt dieser Variable, also die Zahl incrementiert, das heißt um 1 erhöht.
Wird dagegen ein -- verwendet, wird der Wert decrementiert, also um 1 gesenkt.
Variablentypen
Da PHP den Typ von Variablen selber festlegt, brauchen wir diesen Aspekt beim Programmieren nicht zu betrachten. Aber in Foren (o.ä.), werden immer bestimmte Fachausdrücke benutzt, um Variablentypen zu beschreiben.
Ein Variablentyp legt fest, welchen Inhalt eine Variable haben soll.
Da aber wie gesagt, PHP den Typen selber festlegt, kann sich der Typ der Variable auch ändern.
Es gibt dabei folgende Typen:
Integer: Eine Integer-Variable enthält nur Ganzzahlen, d.h. Zahlen ohne Komma.
String: Dies ist eine Variable, die einen Text/Satz/Wort enthält.
Float: Eine Dezimalzahl, d.h. eine Zahl mit Komma. Man verwendet aber einen Punkt als Komma.
Double: Das gleiche wie float, nur mit mehr Nachkommastellen.
bool: Dies sind die Werte true und false
Bsp:
<?php
$integer = 15; //Eine Integer Variable
$string = "Ganz viel Text"; //Ein String
$float = 15.5; //Eine Zahl mit einem Komma
$bool = true;
?>
Variablen übergeben
Diese Möglichkeit ist ein sehr wichtiges Detail von PHP, denn damit ist es möglich, z.B. vom Besucher eingegebene Texte oder berechnete Daten auf die nächste Seite zu übertragen.
Es gibt zwei Methoden um Variablen zu übergeben,
POST und GET.
Als erstes schauen wir uns POST an.
Als Beginn erstellen wir eine Seite mit einem ganz normalen Formular.
Dieses könnte zum Beispiel so aussehen:
<form action="seite2.php" method="post">
Ihr Vorname:<br>
<input type="Text" name="vorname">
<input type="Submit" value="Absenden">
</form>
Für dieses Formular benötigen wir kein PHP, also können wir das Formular auch in einem normalen HTML-Dokument speichern (z.B. seite1.html).
Es ist auch wichtig, dass wir allen Eingabefeldern einen einzigartigen Namen zuweisen, damit wir sie nach dem Absenden auf der zweiten Seite auch korrekt abfragen können.
Haben zwei Felder den selben Namen, so wird nur das letztere Feld übertragen, da die vorige Eingabe überschrieben wird (entspricht einer Neudefinition dieser Variable)
Als nächstes erstellen wir seite2.php, an welche die Eingaben (hier: Ihr Name) gesendet wird.
Der Inhalt der seite2.php sieht dann so aus:
<?php
echo $_POST["vorname"];
?>
Wir erinnern uns an das Input-Feld mit dem Namen vorname auf seite1.html, genau diese Eingabe rufen wir jetzt mit $_POST["vorname"]; ab.
Klicken wir auf der Formularseite auf Absenden, so wird seite2.php aufgerufen, dabei werden die Daten übermittelt und von dieser ausgegeben.
Mit $_POST["vorname"]; können wir also die gesendeten Daten wieder abfragen.
["vorname"] gibt den Namen des abgefragten Inputfeldes aus der Formularseite an (hier vorname).
Diese Abfrage kann auch in einer Variable gespeichert werden, um diese dann später flexibler weiterverarbeiten zu können.
Der Code dafür würde so aussehen:
<?php
$vorname = $_POST["vorname"];
echo $vorname;
?>
Soll $_POST["vorname"]; in einer Variable ($vorname) gespeichert werden, darf $_POST["vorname"]; nicht in Anführungszeichen stehen, da dieses sonst als Text interpretiert wird.
Natürlich können wir damit mehrere Eingaben abrufen. Dazu müssen die Befehle untereinander stehen.
<?php
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
?>
Neben der POST Methode gibt es auch noch die GET Methode.
Bei der GET Methode werden die zu übergebene Daten an die URL angehängt.
Würden wir unser Formular mit der Methode GET verschicken, so würde die URL am Ende etwa so aussehen.
seite2.php?vorname=Nils
Mit dem ? bestimmt der Browser, dass an die URL bestimmte Eingaben angehängt werden.
Das erste Wort nach dem Fragezeichen (vorname) ist der Feldname des Input-Feldes.
Alles was nach dem Gleichheitszeichen steht, ist die Eingabe (Nils).
Möchte man jetzt mehr als ein Feld übertragen, so werden die weiteren Feldnamen mit einem Und-Zeichen (&) angehängt.
Das sieht dann so aus:
seite2.php?nachname=Reimers&vorname=Nils
Werden diese Eingaben abrufen, sieht das so aus:
<?php
echo $_GET["nachname"];
echo $_GET["vorname"];
?>
Natürlich können wir diese Daten jeweils auch wieder in einzelne Variablen speichern.
Ältere Versionen
Falls ihr eine ältere Version als 4.1.0 benutzt, müsst ihr noch die Langform der Befehle schreiben. Anstatt $_POST["feldname"]; müsst ihr dann $HTTP_POST_VARS["Feldname"]; und aus $_GET["Feldname"]; wird $HTTP_GET_VARS["Feldname"];.
Die Langformen werden genauso angewendet, wie die Kurzformen.
Allerdings sollte man, sofern es funktioniert, die Kurzform benutzen.
POST oder GET?
Wann benutzt man POST und wann GET ?
Die Frage ist leicht zu beantworten. Wenn man Eingaben aus einem Formular übergeben möchte, so sollte man immer POST benutzen.
Warum ?
Mit GET werden die Eingaben der URL angehängt, dadurch ist die Textlänge eingeschränkt, außerdem kann jeder im Browser-Verlauf an der URL erkennen, was als Daten übermittelt wurde, und bei einer Passworteingabe ist das nicht so schön.
Vorteil von GET
GET wird benutzt, wenn man einfache Informationen übergeben möchte. Soll zum Beispiel mit dem Klick auf einen Link eine Auswahl übergeben werden, so benutzt man die Methode GET
Ein Link in einer aufrufenden Seite könnte dann so aussehen:
<a href="buch.php?seite=1">Seite 1</a>
In diesem Beispiel würde die Eingabe 1 übermittelt werden.
Solche Links werden in PHP zur Programmierung dynamischer Seiten benutzt (z.B. Foren).
Wozu brauche ich später Variablen?
Nun haben wir jetzt die ersten Grundlagen über Variablen kennen gelernt.
Fragt man Einträge aus einer Datenbank oder Datei ab, werden diese zur besseren Übersicht erst in Variablen gespeichert, dann aufbereitet (selektiert, sortiert, oder berechnet) und erst danach mit echo wieder ausgegeben.
Außerdem werden wir später kennen lernen, wie man Variablen überprüfen kann, also ob z.B. der Name Nils war oder ähnliches. Falls ihr hier Probleme habt, solltet Ihr diesen Abschnitt noch mal lesen.
Denn alles was jetzt folgt, fragt, überprüft und gibt Variablen aus.
Weitere Folgen!
Alles aus PHP-Einfach.de!
Mit Freundlichen Grüßen
»AquaStern«