====== PHP ======
PHP steht für "PHP: Hypertext Preprocessor" und ist eine Skriptsprache, die am Webserver ausgeführt wird.
Bei einer mit HTML erstellten Webseite ist keine Dynamik möglich. Mithilfe von PHP können auf einer Webseite Interaktionen eingebaut oder die Seite in irgendeiner Form, beispielsweise durch Reaktionen auf Eingaben, angepasst werden.
{{:informatik:k6inf:php_ablaufdiagramm.gif|}}
Öffnet der Betrachter in seinem Browser (1) eine solche Webseite über einen PHP-fähigen Webserver (2), werden die Anweisungen von PHP interpretiert (3), ausgeführt (4) und das Ergebnis als HTML-Code zurückgesendet (5). Ein klarer Vorteil dabei ist, dass der PHP-Quellcode dem Betrachter nicht zugänglich ist. Er sieht im Browser nur den zurückgelieferten HTML-Code.
===== Variablen und Operatoren=====
Variablen müssen im Gegensatz zu vielen Programmiersprachen nicht extra deklariert werden. Sie werden mit einem vorangestellten Dollar-Zeichen gekennzeichnet und beim ersten Aufruf definiert.
Auf numerische Variablen lassen sich folgende Operatoren anwenden: +, -, *, / und %
===== Formulare =====
Mit PHP kann man interaktive Webseiten erstellen, bei denen Benutzereingaben aus Formularen durch PHP ausgewertet werden. Die Darstellung der Formulare wird mit HTML-Code umgesetzt.
==== Formular in HTML ====
==== Übertragung ====
Die Daten aus dem Formular werden mittels HTTP an das auswertende PHP-Programm übermittelt. Dabei gibt es 2 Methoden: GET und POST.
**POST**
* ListenpunktFormulardaten werden direkt an die Webadresse versendet
* Längere Texte oder Daten können in Formularen übermittelt werden, da keine Beschränkung der Größe besteht
**GET**
* Formulardaten werden in der URL übermittelt und werden dann durch den Server in einer speziellen Umgebungsvariablen zwischengespeichert
* Daten sind auf ca. 2KB beschränkt
Da bei der Methode GET die Daten über die URL an den Server weitergegeben werden, ist es möglich, die Daten zu manipulieren. Die sicherere und am häufigsten genutzte Methode ist daher die Methode POST.
==== Auswertung in PHP ====
Die übermittelten Daten werden automatisch in Arrays gespeichert, %%$_GET[] bzw. $_POST[]%%. Der Index wird dabei durch den Namen des Eingabefeldes im Formular bestimmt.
Folgende Daten wurden übermittelt:
==== MySQL-Abfragen ====
Abfragen an den MySQL-Server werden mit dem Befehl ''mysql_query([Anweisung]);'' durchgeführt. Die Anweisung muss in MySQL-Syntax geschrieben. Es empfiehlt sich die Anweisung in eine andere Variable auszulagern, was die Fehlersuche sehr erleichtert kann.
Um (bei einer fehlerlosen Abfrage) mit den Rückgabewerten arbeiten zu können, muss die Abfrage auf eine Variable gespeichert werden: ''$query=mysql_query([Anweisung]);''. Über verschiedene Befehle können dann z.B. die Anzahl der passenden Datensätze (''mysql_num_rows($query);'') oder einzelne Daten (''mysql_result($query, [Zeile], [Spalte]);'') ausgelesen werden.
**Beispiel**
In der Tabelle $table befinden sich $anz Datensätze:";
for ($i=0;$i<$anz;$i++)
{
$name=mysql_result($query,$i,0);
$strasse=mysql_result($query,$i,1);
$ort=mysql_result($query,$i,2);
$sorte=mysql_result($query,$i,3);
$menge=mysql_result($query,$i,4);
echo $name.", ".$strasse.", ".$ort.", ".$sorte.", ".$menge."
";
}
?>
**[[inf:inf7b_201011:mysql:mysql-datenbank#umgang_mit_datensaetzen|Weitere Abfragen]]**
===== Mit externen Dateien arbeiten =====
**[[inf:inf7b_201011:php#externe_dateien|Externe Dateien - 7.Klasse]]**