PHP PHP ( „PHP Hypertext Preprocessor") ist eine Skriptsprache Befehle werden in den HTML-Code eingebaut. Die Befehle werden auf dem Server ausgeführt und das Ergebnis als HTMLDokument an den Browser übergeben PHP - Voraussetzungen Der Web Server muss PHP-fähig sein. Auf dem Apache Server gibt es 2 Möglichkeiten: PHP Quellcode übersetzen und als Modul einbinden PHP als CGI-Programm einbinden Dateien mit PHP-Code sollten die Endung .php oder .phtml haben PHP - Einsatzgebiete Formulardaten sammeln, dynamischen Inhalt für Websites generieren oder Cookies senden und empfangen. Zugriffe auf eine große Zahl von Datenbanken: mSQL, MS SQL, MySQL, Sybase, IBM DB2, Ingres, Oracle, Informix, ODBC PHP Befehle in HTML einbauen Dazu gibt es 4 Möglichkeiten: 1. <? ... ?> 2. <?php ... ?> 3. <script language="php"> ... </script> 4. <% ... %> "..." steht für beliebige PHP-Befehle. PHP, ein einfaches Beispiel <html> <head> <title>PHP-Beispiel</title> </head> <body> <?php echo „Das ist ein PHP-Skript!"; ?> </body> </html> Entwicklungssoftware: WampServer Wamp = Windows (Betriebssystem) Apache (lokaler Webserver) MySQL (Datenbankserver) PHP (Skriptsprache) Variablen Variablen werden in PHP durch ein Dollar-Zeichen ($) dargestellt, gefolgt vom Namen der Variablen. Bei Variablennamen wird zwischen Groß- und Kleinschreibung unterschieden (case-sensitive). Variablen Ein gültiger Variablen-Name beginnt mit einem Buchstaben oder einem Unterstrich ("_"), gefolgt von einer beliebigen Anzahl von Buchstaben, Zahlen oder Unterstrichen. Variablentypen Folgende Datentypen sind in PHP (u.a.) bekannt: Integer Fließkomma (Dezimalzahlen) Strings (Zeichenketten) Arrays (Felder) Objekte Kommentare Kommentare sind bei längeren PHPSkripten sehr wichtig Sie erleichtern das Verständnis der Skriptstruktur Einzeilige Kommentare beginnen mit // Mehrzeilige Kommentare beginnen mit /* und enden mit */ Arithmetische Operatoren B e i s p i e lN a m e E r g e b n i s $ a + $ bA d d i t i o n S u m m e v o n $ a u n d $ b . $ a -$ bS u b t r a k t i o n D i f f e r e n z v o n $ a u n d $ b . $ a * $ bM u l t i p l i k a t i o n P r o d u k tv o n $ a u n d $ b . $ a /$ bD i v i s i o n Q u o t i e n tv o n $ a u n d $ b . $ a % $ b M o d u l u s R e s tv o n $ a g e t e i l td u r c h $ b . Zuweisungsoperatoren $a = 3; $a += 5; /* entspricht: $a = $a + 5; setzt $a auf den Wert 8 */ $b = "Hallo "; $b .= "Du!"; /* setzt $b auf den Wert "Hallo Du!", entspricht $b = $b . "Du!"; */ String-Operatoren Verkettungs-Operator ('.') $a = "Hallo "; $b = $a . "Freunde!"; // $b enthält jetzt den Text "Hallo Freunde!" Verkettungs- und Zuweisungsoperator ('.=') $a = "Hallo "; $a .= " Freunde!"; // $a enthält jetzt den Text "Hallo Freunde!" Ausgabefunktion echo Unterschied zwischen ' und " bei echo <?php $a=10; $b=2.51; $c=$a*$b; echo ('<p>$a*$b = $c</p>'); ?> Ausgabe auf dem Bildschirm: $a*$b = $c (Alles wird wie Text behandelt) Ausgabefunktion echo Unterschied zwischen ' und " bei echo <?php $a=10; $b=2.51; $c=$a*$b; echo ("<p>$a*$b = $c</p>"); ?> Ausgabe auf dem Bildschirm: 10*2.51 = 25.1 (Der Wert der Variablen wird ausgegeben) PHP und Formulare PHP und Formulare Zugriff auf Formulardaten in PHP über die Feldnamen: <?php $Name = $_POST["Name"]; $Vorname = $_POST["Vorname"]; $Strasse = $_POST["Strasse"]; $PLZ = $_POST["PLZ"]; $Ort = $_POST["Ort"]; $Telefon = $_POST["Telefon"]; ?> PHP und Formulare Zugriff auf Formulardaten in PHP über die Array Variable $_POST – ein assoziatives Array mit den Feldnamen als key und Feldinhalte als Wert für die einzelnen Formularfelder. <?php foreach ($_POST as $key=>$Feld) { echo "$key: $Feld<br>"; } ?> PHP und Formulardaten Nach Übertragung der Formularfelder in eine Datei, lassen sich diese Daten in Excel oder Access einlesen und bearbeiten. Schweizer Gertrud 70794 Filderstadt Wiesenstr. 23 704 953 [email protected] Schlecht Fritz 70794 Filderstadt Rudolfstr. 11 709 636 [email protected] Kontrollstrukturen - Schleifen Zur Programmierung von Schleifen kann man folgende Anweisungen verwenden: if, else while do...while for switch break Fallunterscheidung if, else Beispiel: if ($i<0) { echo "$i ist kleiner als Null"; } else if ($i>0) { echo "$i ist groesser als Null"; } else { echo "<p>$i ist Null</p>"; } Die while-Anweisung while (Bedingung) { Befehlsfolge } Beispiel: $i = 1; while ($i <= 10) { print “$i++<br>“; /* es wird erst $i ausgegeben, bevor der Wert erhöht wird (Post-Inkrement) */ } Vergleichsoperatoren == != < > <= >= Gleichheit ($a == $b) Ungleichheit kleiner als ($a < $b) größer als kleiner oder gleich größer oder gleich Verknüpfung von Bedingungen and, &&: z.B. ($a<1 && $b<1) d.h. beide Bedingungen müssen erfüllt sein (dann ist der Klammerausdruck wahr) or, ||: z.B.($a>5 || $a<1) d.h. entweder die erste oder die zweite oder beide Bedingungen müssen erfüllt sein Die do...while - Anweisung do {Befehlsfolge} while (Bedingung) Zuerst Befehlsfolge ausführen, dann Bedingung prüfen. Beispiel: $i = 1; do { print "$i++<br>"; } while ($i <= 10) for-Anweisung Beispiel: for ($i=1;$i<=10;$i++) { echo $i,"<br>"; } Fallunterscheidung switch Beispiel: switch ($zahl) { case 1: echo „Ausgabetext 1"; //Anweisung(en) bis break; // zum Wort break ! case 2: echo „Ausgabetext 2"; break; case 3: echo „Ausgabetext 3"; break; default: echo „Ausgabetext 4„ //Wenn Fall 1 bis 3 nicht zutreffend } Numerische Arrays Eine Sammlung von Daten Daten dürfen von verschiedenen Datentypen sein Zugriff auf Array-Elemente über die Element-Nummer (Index) Die Indizes beginnen bei 0 Initialisierung durch Wertzuweisung, $kunde[1] = „Huber" Numerische Arrays: Beispiel Index 0 1 2 Element 1 Huber Hans 3 Buchenweg 30 4 34876 5 Mittelbach 6 07621 – 3467 7 [email protected] Assoziative Arrays Die Elemente des Arrays werden durch Namen referenziert Der Name (key) besteht aus einer Zeichenfolge z.B. Nachname Initialisierung durch Wertzuweisung: $kunde["Nachname"] = „Huber" $kunde["Vorname"] = „Hans" Assoziative Arrays: Beispiel Key Nummer Name Vorname Element 1 Huber Hans Strasse Buchenweg 30 PLZ 34876 Ort Mittelbach Telefon 07621 – 3467 Email [email protected] Ausgabe von Array-Elementen Numerische Arrays: $i=0; while ($i<count($array)) /* das Array hat den Namen $array; die Funktion count zählt die Anzahl der Elemente des Arrays $array */ { echo "Index: $i"; echo "Wert: $array[$i]<br>"; $i++; } Ausgabe von Array-Elementen Assoziative Arrays: foreach ($array as $key => $element) { echo "$key : $element <br>"; }