Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

PHP Einführung Dynamische Webseiten- Generierung Jürgen Mangler.

Ähnliche Präsentationen


Präsentation zum Thema: "PHP Einführung Dynamische Webseiten- Generierung Jürgen Mangler."—  Präsentation transkript:

1 PHP Einführung Dynamische Webseiten- Generierung Jürgen Mangler

2 Dynamische Webseiten-Generierung PHP ist eine Skriptsprache, die direkt in HTML-Seiten eingebettet wird, d.h. der Autor schreibt PHP-Befehle zusammen mit HTML-Befehlen in eine Datei. Wird diese Datei von einem Betrachter angefordert, so werden diese PHP-Befehle von einer "Zusatzsoftware" des Webservers Schritt für Schritt ausgeführt und die Ergebnisse an den Betrachter weitergeleitet. Achtung: Der Webserver muß "PHP"-fähig sein. Standardmäßig funktionieren diese Befehle nicht. PHP wird seit etwa 1994 entwickelt und erfreut sich stetig wachsender Beliebtheit. Ein besonderer Schwerpunkt liegt auf der Einbindung verschiedener Datenbanken. Die Sprache ist an C, Java und Perl angelehnt. Eine ausführliche Beschreibung finden Sie unter

3 PHP Befehle in HTML einbauen Dazu gibt es 4 Möglichkeiten:... "..." steht für beliebige PHP-Befehle.

4 Unser erster PHP-Befehl! Der echo-Befehl gibt Texte (sogenannte Strings) aus: Merke: Alle PHP-Befehle werden mit ";" abgeschlossen. Es gibt eine Reihe von Sonderzeichen. Wichtigstes Sonderzeichen: "\n": Neue Zeile.C- oder Perl-Kennern sind diese Zeichen natürlich vertraut. echo "Hallo\n"; Man beachte dabei den Unterschied zu echo "Hallo "; Im ersten Fall wird lediglich im vom Webserver ausgelieferten HTML-Text ein Zeilumbruch durchgeführt. Im zweiten Fall enthält der HTML-Text den HTML-Befehl zum Zeilenumbruch.

5 Vordefinierte Variablen Da PHP speziell zur Erzeugung von dynamischen Webseiten geschaffen wurde, ist es ein Kinderspiel, Eingaben, die aus HTML-Formularen stammen, zu bearbeiten. Ein Beispiel. Die Formulardatei enthalte: Der HTML-Formular-Kenner sieht sofort: Beim Klicken auf den Submit-Button wird also die Datei tuwas.php aufgerufen.

6 Vordefinierte Variablen Diese Datei könnte dann so aussehen: Kurz gesagt: der Text, der in das Formularfeld var eingegeben wurde, ist dann in der PHP-Variablen ${HTTP_POST_VARS["var"]} enthalten. Achtung: Anfänger sollten immer method="post" beim Formular angeben, bei "get" sind die Variablen analog in $ HTTP_GET_VARS enhalten ! Achtung: Wenn Sie verwenden müssen Sie unbedingt enctype="multipart/form-data" zusätzlich angeben und $HTTP_POST_FILES verwenden.

7 Einfache Rechenoperationen Folgende Rechenoperationen stehen in PHP zur Verfügung: "+": Addition, $i+$j, "-": Subtraktion, $i-$j "*": Multiplikation, $i*$j "/": Division, $i/$j "%": Reste-Bildung, $i%$j: z.B. 23%17 ergibt 6, da 23 geteilt durch 17 gleich 1 Rest 6 ist. ".": Verknüpft Strings: $l = "langer"; $k = "kurzer"; print $l.$k; ergibt "langerkurzer"

8 Erste Schleifen Gleich ein Beispiel: $t = "Ich soll meine Uebungsaufgaben selbst erstellen! \n"; $i = 0; while ($i<10) { print $t; $i++; } Hier wird 10-mal der Text in der Variablen $t ausgegeben. Zu Beginn wird $i auf 0 gesetzt. $i wird in jedem Schleifendurchlauf um 1 erhöht, bis $i den Wert 10 erreicht. Dann ist die Bedingung ($i<10) nicht mehr wahr und die Schleife bricht ab.

9 Weitere Befehle zur Ablaufkontrolle Alternativ dazu möglich: $t = "Ich soll meine Uebungsaufgaben selbst erstellen! \n"; $i = 0; do { print $t; $i++; } while ($i<10); Was ist der Unterschied? Man bemerkt den Unterschied, wenn z.B. statt $i=0; zu Beginn $i=10; gesetzt wird. Im ersten Fall ist die Bedingung ($i<10) nicht wahr und die Befehle innerhalb der geschweiften Klammern werden nicht ausgeführt.

10 Weitere Befehle zur Ablaufkontrolle Eine weitere Möglichkeit, eine Schleife zu programmieren, ist der for-Befehl. Gleich ein Beispiel: $t = "Ich soll meine Uebungsaufgaben selbst erstellen! \n"; for ($i=0;$i<10;$i++) { print $t; } Der for-Befehl besteht aus drei Ausdrücken. for (ausdruck1;ausdruck2;ausdruck3) {... } –Mit ausdruck1 wird die Schleife initialisiert, d.h. normalerweise wird die Variable, die die Schleifendurchläufe zählt, auf den Anfangswert gesetzt. –ausdruck2 gibt die Abbruchbedingung an. –In ausdruck3 steht ein beliebiger Ausdruck. Zumeist wird eine in der Abbruchbedingung enthaltene Variable verändert (z.B. Die Laufvariable wird erhöht bzw. erniedrigt).

11 Weitere Befehle zur Ablaufkontrolle Zur Fallunterscheidung gibt es den if-Befehl: if ($i<0) { echo "$i ist kleiner als Null\n"; } else if ($i>0) { echo "$i ist groesser als Null\n"; } else { echo "$i ist Null\n"; } Hat man mehrere Tests der gleichen Variable, so kann man mit dem switch-Befehl evtl. Arbeit einsparen: switch ($name) { case "Jürgen": echo "Ich bin der kluge Jürgen"; break; default: echo "Wir sind der Rest"; }

12 Weitere Vergleichsmöglichkeiten Bisher konnten wir testen, ob $i 10 gilt. Es gibt aber noch mehr Möglichkeiten: $i == 10:Ist $i gleich 10? $i != 10: Ist $i ungleich 10? $i >= 10: Ist $i größer oder gleich 10? $i <= 10: Ist $i kleiner oder gleich 10? Man kann auch kombinieren: ($i==10) && ($j>0):Ist $i gleich 10 und $j größer als 0? ($i==10) || ($j==0):Ist $i gleich 10 oder $j gleich 0?

13 Nochmals vordefinierte Variablen Wir haben gelernt, daß in einer PHP-Datei, die aus einem Formular gestartet wird, die Namen der Formular-Elemente als Variablen zur Verfügung stehen. Dies kann man nützen, um Formular und Befehle, die das Formular behandeln, in eine einzige Datei zu schreiben: Angenommen die Formulardatei "einformular.php" enthält: Dann ruft sich beim Klicken auf submit die Datei selbst auf. Allerdings ist dann die Variable "var" gesetzt.

14 Nochmals vordefinierte Variablen Dies können wir folgendermaßen ausnützen: Wird die Datei zum ersten Mal aufgerufen, d.h. ohne daß man auf den submit-Button klickt, so ist die Variable $HTTP_POST_VARS["var"] nicht gesetzt.

15 Nochmals vordefinierte Variablen Füllt man das Formular dann aus und klickt auf submit, –so ist die Variable gesetzt, –isset ($HTTP_POST_VARS["var"]) ist wahr –es wird "Sie haben test eingegeben\n" ausgegeben. Eine weiter Möglichkeit wäre exit; wegzulassen und stattdessen folgendes zu verwenden. Dadurch erscheint das Formular im vorausgefüllten Zustand.

16 Nochmals vordefinierte Variablen Füllt man das Formular dann aus und klickt auf submit, –so ist die Variable gesetzt, –isset ($HTTP_POST_VARS["var"]) ist wahr –es wird "Sie haben test eingegeben\n" ausgegeben. Eine weiter Möglichkeit wäre exit; wegzulassen und stattdessen folgendes zu verwenden. Dadurch erscheint das Formular im vorausgefüllten Zustand.

17 Funktionen Ein wichtiger Bestandteil einer jeden Programmiersprache ist die Fähigkeit, mehrere Befehle zu einem einzigen Befehl zusammenzufassen, d.h. neue Funktionen zu definieren. PHP hat diese Fähigkeit selbstverständlich auch. Ein Beispiel: Wir wollen für eine Anzahl von Tagen berechnen, wieviele Sekunden diese Tage zusammen haben: function tag ($anzahl) { $sekunden = 3600 * 24 * $anzahl; return $sekunden; } $x = tag(7); print "7 Tage bestehen aus ${x} Sekunden !";

18 SQL Grundlagen SQL-Datenbanken bestehen aus 1 oder mehreren sogenannten Tabellen. Jeder Datensatz der Datenbank ist genau eine Zeile in einer Tabelle. Beispiel: Ein Mensaführer für Wien. Die Tabelle mensen: Man kann nun auf eine dieser Tabellen zugreifen, aber auch Tabellen verküpfen. Es gibt im wesentlichen vier Abfragemöglichkeiten: Auslesen: SELECT Einfügen: INSERT Überschreiben: UPDATE Löschen: DELETE ………… Schlecht angezogene Gäste4WU-Mensa2 Gutes Essen1Katholische Mensa1 KommentarNoteNameID

19 SQL Grundlagen Will man z.B. alle mensennamen, die sich in der Datenbank befinden, auslesen, gibt man folgenden den SQL-Befehl ein: SELECT Name FROM mensen; Will man Name und Note der Mensa auslesen: SELECT Name,Note FROM kneipen; Die Datensätze können noch weiter spezifiziert werden: SELECT * FROM kneipen WHERE Note=1 order by Name; Neue Datensätze werden folgendermaßen hinzugefügt: INSERT mensen (ID,Name,Note,Kommentar) VALUES (1,'TU','1','Super!'); Vorhandene Datensätze können mit UPDATE mensen SET Note='5',Kommentar='Wäh!' WHERE ID=3;

20 SQL mit Oracle und PHP Wie greifen wir nun konkret auf unsere Datenbank zu? Zuerst müssen wir eine Verbindung zum Oracle SQL Server aufbauen: $connection = OCILogon("a ", "test1234"); wobei a dar Benutzername ist, und test1234 das Passwort. Wir bekommen dann einen connection zurückgeliefert, die wir in der Variable $connection speichern. Mit $stmt = OCIParse($connection, "SELECT * FROM mensen"); OCIExecute($stmt); führen wir den SQL Befehl "SELECT * FROM mensen" für die Verbindung $connection aus, das Ergebnis wird in $stmt gespeichert.

21 SQL mit Oracle und PHP Nun müssen wir nur noch die einzelnen Zeilen des Ergenisses ausgeben while(OCIFetch($stmt)) { print OCIResult($stmt, "ID"). " "; print OCIResult($stmt, "NAME"). " "; print OCIResult($stmt, "NOTE"). " "; print OCIResult($stmt, "KOMMENTAR"). " "; } Mit OCIFetch werden die einzelnen Zeilen abgerufen, mit OCIResult wird auf die Spalten einer Zeile zugegriffen. Wichtig: am Ende $stmt abschliessen und Verbindung schliessen: OCIFreeStatement($stmt); OCILogoff($connection);

22 SQL mit Oracle und PHP Tips: –$stmt immer leeren –$connection immer schliessen –Bei OCIResult müssen die Spaltennamen in Grossbuchstaben angegeben werden Das hier besprochene Beispiel finden Sie unter


Herunterladen ppt "PHP Einführung Dynamische Webseiten- Generierung Jürgen Mangler."

Ähnliche Präsentationen


Google-Anzeigen