Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Bernd Viehweger Apache-PHP-MySQL1. Bernd Viehweger Apache-PHP-MySQL2 Client-Server-Prinzip Web- Server #1 Web- Server #2 Datenbank- Server Browser Ebene.

Ähnliche Präsentationen


Präsentation zum Thema: "Bernd Viehweger Apache-PHP-MySQL1. Bernd Viehweger Apache-PHP-MySQL2 Client-Server-Prinzip Web- Server #1 Web- Server #2 Datenbank- Server Browser Ebene."—  Präsentation transkript:

1 Bernd Viehweger Apache-PHP-MySQL1

2 Bernd Viehweger Apache-PHP-MySQL2 Client-Server-Prinzip Web- Server #1 Web- Server #2 Datenbank- Server Browser Ebene (Client) Web-Server Ebene Datenbank-Server Ebene

3 Bernd Viehweger Apache-PHP-MySQL3 LAMP (WAMP, XAMPP) Systemarchitektur (xampp) Linux oder Windows oder MacOS als Betriebssystem Apache als Web Server MySQL als Datenbank-Server PHP als verbindende Skriptsprache (http://www.xampp.de --> Apachefriends)

4 Bernd Viehweger Apache-PHP-MySQL4 Web Server - Apache Ein Web-Server beantwortet Anfragen, die durch Web-Clients an ihn gerichtet werden, d.h. er sendet die angeforderten Seiten zurück Apache Web Server sind mit 60 % Marktanteil das z.Z. marktbeherrschende Produkt (http://www.netcraft.com/survey) Apache ist Open Source (www.apache.org), d.h. Quelltext der Software liegt offen Möglichkeit der Kontrolle der Software

5 Bernd Viehweger Apache-PHP-MySQL5 Datenbank Server - MySQL MySQL ist ein relationales Datenbankmanagementsystem Einsatz vorrangig in kleinen und mittelgroßen Unternehmungen Kommunikation erfolgt über die Protokollfamilie TCP/IP Jedes Programm, welches TCP/IP und die SQL-Syntax versteht, kann mit MySQL kommunizieren (www.mysql.com)

6 Bernd Viehweger Apache-PHP-MySQL6 PHP – Hypertext Preprocessor PHP ist eine serverseitig interpretierte, in HTML eingebundene Skriptsprache dient der Erstellung dynamischer Webseiten (reine HTML Seiten sind statisch) –dynamische Web Seiten werden serverseitig, im Moment ihres clientseitigen Abrufs generiert –ermöglicht somit Einbindung von Daten auf Basis von Nutzeraktionen –z.B. Möglichkeit Formularinhalte auszuwerten und darauf zu reagieren

7 Bernd Viehweger Apache-PHP-MySQL7 PHP - Funktionsweise PHP Code wird direkt in die HTML Seiten eingebunden Von HTML Seiten abweichende Dateiendung *.php Beispiel: Hello.php PHP Test "; ?>

8 Bernd Viehweger Apache-PHP-MySQL8 PHP Datenbankanbindung PHP stellt Verbindung zwischen einer verwendeten Datenbank und dem Web-Server her Einbindung von gespeichertem Datenmaterial in Internetseiten PHP agiert somit u.a. als MySQL-Client

9 Bernd Viehweger Apache-PHP-MySQL9 Basis-Server PHP – Interpreter (Modul) Web-Server (Apache) DB-Server (MySQL).php Webseite in HTML: Hello world Antwort Webseite mit inte- griertem PHP-Code: Anfrage Browser (Client) Einbindung PHP als Apache-Modul

10 Bernd Viehweger Apache-PHP-MySQL10 \n"; do { $data = mysql_fetch_array($res); // Retrieve the next row of data. if (!is_array($data)) { break; } Beispielhafte DB Anbindung I

11 Bernd Viehweger Apache-PHP-MySQL11 if (!$header_printed) { print " "; reset($data); while (list($name, $value) = each($data)) { print " $name \n" } print " \n"; $header_printed = true; } print " \n"; print " "; print implode(" \n ", $data); print " \n"; } while ($data); print " \n"; ?> Beispielhafte DB Anbindung II

12 Bernd Viehweger Apache-PHP-MySQL12 Was ist zu beachten? Wie installiere ich Apache, MySQL, PHP? Übungen mit PHP Übungen mit PHP - Apache - MySQL Hinweise zur Übung

13 Bernd Viehweger Apache-PHP-MySQL13 Zu PHP (1): PHP-Code kann überall in HTML-Code eingebettet werden. Um in den PHP-Modus zu wechseln wird die Zeichenfolge verwendet. Damit der Server weiß dass es sich um eine PHP-Datei handelt, die entsprechend PHP-Befehle enthalten, haben PHP-Dateien die Dateiendungen.php. (Quelle: für diese und folgende Folien zu PHP: Quakenet/#php Tutorial (gekürzt))

14 Bernd Viehweger Apache-PHP-MySQL14 Zu PHP (2): PHP Test Dies ist ein PHP-Code \n"; ?> Text der sich außerhalb von PHP befindet (üblicherweise HTML-Code) wird als solches zum Client gesendet, ohne dass er vom PHP-Interpreter bearbeitet wird. Er kann aber auch durch PHP-Konstrukte wie Schleifen gesteuert werden.

15 Bernd Viehweger Apache-PHP-MySQL15 Zu PHP (3): Strings ausgeben Hauptziel eines PHP-Skriptes ist es, unabhängig von der Logik die dahinter steckt, eine Ausgabe zu erzeugen. Um in einem PHP-Skript Texte auszugeben (ohne den PHP-Modus zu verlassen) wird üblicherweise der Sprachkonstrukt echo verwendet. Ein Beispiel könnte wie folgt aussehen. Das Erste was auffällt ist die Tatsache dass die Klammern der Funktion fehlen. Das liegt daran dass echo keine Funktion sondern ein spezieller Sprachkonstrukt ist.

16 Bernd Viehweger Apache-PHP-MySQL16 Zu PHP (4): HTML-Code bzw. die besonderen Zeichen können in Strings ohne Probleme benutzt werden. Somit können am Ende des ersten Strings das HTML-Element Angefügt werden. '; echo 'Nun folgt ein anderer Text'; ?> Wie erwartet steht im Browser den folgenden Inhalt. Ein Text, der ausgegeben wird Nun folgt ein anderer Text Wenn der Quellcode im Browser betrachtet wird stehen beide Strings weiterhin hintereinander. Ein Text, der ausgegeben wird Nun folgt ein anderer Text

17 Bernd Viehweger Apache-PHP-MySQL17 Zu PHP (5): Steuerzeichen in Strings Tabelle der Escape-Sequencen Zeichen Beschreibung \n Zeilenumbruch \r Wagenrücklauf, oft verwendet bei Netzwerkprotokollen. \t Tabulator \v Vertikaler Tabulator, eher selten verwendet \f Seitenvorschub, noch seltener verwendet \$ Dollarzeichen Ohne diese Sequenz wird versucht, eine Variable zu finden und dessen Inhalt einzufügen.

18 Bernd Viehweger Apache-PHP-MySQL18 Zu PHP (6): Was sind Variablen? Üblicherweise dienen PHP-Skripte dazu, eine Ausgabe dynamisch zu erzeugen. Die PHP-Skripte selbst sind jedoch konstant, was deren Inhalt betrifft. Daher müssen wir im PHP-Skript etwas haben, was dynamisch gefüllt werden kann. Dafür gibt es Variablen. Sie werden vom Skript entsprechend mit Daten gefüllt und können dann an anderer Stelle im Skript verwendet werden. Aufbau von Variablen Damit Variablen in PHP als solche erkannt werden, müssen sie besonders gekennzeichnet werden. Daher beginnen alle Variablen in PHP mit dem Dollarzeichen $. Danach müssen sie mit einem Buchstaben oder Unterstrich _ beginnen. Nach dem ersten Zeichen können auch Ziffern im Variablennamen stehen.

19 Bernd Viehweger Apache-PHP-MySQL19 Zu PHP (7): Variablen in PHP sind case-sensitiv, d.h. die Groß-/Kleinschreibung spielt eine Rolle und ist wichtig. Die Variable $foo ist eine andere als $FOO. Insbesondere bei den Superglobalen Variablen ist das wichtig, da diese z.B. $_GET lauten und nicht z.B. $_get.

20 Bernd Viehweger Apache-PHP-MySQL20 Zu PHP (8): Zuweisungsoperator Um eine Variable mit einem Wert zu füllen, wird der Zuweisungsoperator = verwendet. Dabei muss die Variable links vom Gleichheitszeichen stehen, der Wert der gespeichert werden soll rechts. Ausgabe:

21 Bernd Viehweger Apache-PHP-MySQL21 Zu PHP (9): Verketten von Strings und Variablen Ein Operator von PHP ist der Verkettungsoperator, der als einzelner Punkt geschrieben wird (.). Dieser wird verwendet um zwei Ausdrücke miteinander zu verbinden. Dabei ist es egal, ob es sich um Strings oder Variablen handeln, die man verketten möchte. Auch Zahlen können so mit Strings verkettet werden.

22 Bernd Viehweger Apache-PHP-MySQL22 Zu PHP (10): Bei diesen Beispiel-Codes wurde zwar die Verkettung ausgerechnet, doch das Ergebnis wurde nicht verwendet. Da das ganze auch wieder als Ausdruck gilt, kann es z.B. in eine Variable gespeichert werden oder direkt mit echo ausgegeben werden. Die Anzahl der Verkettungen ist unbegrenzt. PHP verkettet intern dabei stets weiterhin 2 Ausdrücke miteinander und nutzt das Ergebnis für die nächste Verkettung.

23 Bernd Viehweger Apache-PHP-MySQL23 Zu PHP (11): Datentyp Zahlen Wenn man in seinen PHP-Skripten mit Variablen(inhalten) rechnen möchte, muss man dazu einen Datentyp benutzen, der dazu dient, Zahlen darzustellen. Eine naive Möglichkeit ist es, die Zahlen in Strings zu schreiben und damit zu rechnen. Dies gibt wie erwartet 14 aus. Hier haben wir jedoch Strings miteinander addiert. In der Regel klappt dies nicht, hier hat jedoch Typecasting zugeschlagen und die Strings vorher in echte Zahlen umgewandelt. Für Zahlen gibt es in PHP zwei Datentypen. Dies sind einmal Integer-Zahlen und einmal Float-Zahlen.

24 Bernd Viehweger Apache-PHP-MySQL24 Zu PHP (12): Integer-Zahlen Integer-Zahlen sind ganzzahlige Werte, enthalten also kein Nachkommastellen. Beispiele sind 5, 31 oder 199, aber auch negative Zahlen wie -1, -10 oder -44. In PHP schreibt man Integer-Zahlen einfach in den Quelltext, der PHP-Interpreter erkennt diese Ziffernfolge als Zahl.

25 Bernd Viehweger Apache-PHP-MySQL25 Zu PHP (13): Float-Zahlen Float-Zahlen sind Werte mit Nachkommastellen, Beispiele davon sind 5.7, oder -4.07, aber auch 10.0, 3.1E-10 oder 4.5e3. Float-Zahlen erkennt man an den Dezimalpunkt., des Weiteren wird nicht ein Kommata (,) für die Nachkommastellen verwendet. Da der Punkt jedoch auch für die String-Verkettung benutzt wird, muss man hier ein wenig aufpassen, wenn man Float-Zahlen mit Strings verketten will. Notfalls ist es nötig, Klammern zu verwenden.

26 Bernd Viehweger Apache-PHP-MySQL26 Zu PHP (14): Rechenoperatoren Um einfache Rechenoperationen auszuführen, gibt es in PHP 6 Rechenoperatoren. Das sind einmal die 4 Grundrechenarten +, -, * und / und der %-Operator, der den ganzzahligen Rest einer Division bestimmt, und dann noch der --Operator der eine Zahl negiert.

27 Bernd Viehweger Apache-PHP-MySQL27 Zu PHP (15): Für kompliziertere Berechnungen gibt es eine Menge mathematischer Funktionen, z.B.: ist eine solche Funktion, die eine Potenz errechnet (x hoch y).

28 Bernd Viehweger Apache-PHP-MySQL28 Zu PHP (16): Datentyp Boolean In PHP gibt es einen Datentyp, der theoretisch nur ein einzelnes Bit Speicherplatz benötig. Mit einem Bit können nur die zwei verschiedenen Wert 0 und 1 dargestellt werden. In Programmiersprachen spricht man eher von den Werten true (für 1) und false (für 0). Dieser Datentyp wird dazu verwendet um zu sagen, ob etwas stimmt oder nicht. Oft wird die kleingeschriebene Schreibweise verwendet.

29 Bernd Viehweger Apache-PHP-MySQL29 Zu PHP (17): Kontrollstrukturen Kontrollstrukturen in PHP werden dazu verwendet, den Programmfluss zu steuern. Die Steuerung ist dabei die Frage, ob ein Programmcode ausgeführt werden soll oder nicht. Dazu verwendet man den Sprachkonstrukt if. Der Aufbau ist dabei wie folgt: Der Ausdruck wird von PHP verarbeitet und muss einen Wert zurückliefern. Dieser wird dann geprüft, ob er dem booleschen Wert true entspricht. Wenn dies der Fall ist, wird die folgende Anweisung ausgeführt.

30 Bernd Viehweger Apache-PHP-MySQL30 Zu PHP (18): Alternative Ausführung

31 Bernd Viehweger Apache-PHP-MySQL31 Zu PHP (19): Eine alternative Programmausführung kann auch mit elseif Strukturen erweitert werden. Dies ist ein Block, der zwischen dem if- und else-Block eingefügt wird. Dieser elseif-Teil wird dann ausgeführt/geprüft, wenn die vorherige If-Abfrage false ergab.

32 Bernd Viehweger Apache-PHP-MySQL32 Zu PHP (20): Es können dabei auch mehrere elseif-Teile verwendet werden:

33 Bernd Viehweger Apache-PHP-MySQL33 Zu PHP (21): Vergleichsoperator == Um zwei Werte auf Gleichheit zu testen, verwendet man in PHP den == Operator. Auf beiden Seiten des Operators werden die Inhalte hingeschrieben, die man vergleichen möchte.

34 Bernd Viehweger Apache-PHP-MySQL34 Zu PHP (22): Andere Vergleichsoperatoren Neben == gibt es noch weitere Vergleichsoperatoren. Für Zahlen existieren zusätzlich die Operatoren und >= die entsprechend das Prüfen, was die Zeichen darstellen und wie man sie im täglichen Sprachgebrauch benutzt. 9; // ist false ?> Dann gibt es noch den Ungleichoperator != um zu prüfen, ob zwei Werte unterschiedlich sind.

35 Bernd Viehweger Apache-PHP-MySQL35 Zu PHP (23): AND-Verknüpfung Die AND-Verknüpfung ist die einfachste logische Verknüpfung. Das Ergebnis solch einer Verknüpfung liefert true, wenn beide Argumente true sind. Im Sprachgebrauch verwendet man AND intuitiv genau so, wie z.B. bei Du darfst draußen spielen, wenn du deine Hausaufgaben gemacht hast und dein Zimmer aufgeräumt ist. In PHP wird diese Verknüpfung mit dem AND-Operator realisiert.

36 Bernd Viehweger Apache-PHP-MySQL36 Zu PHP (24): OR-Verknüpfung Eine OR-Verknüpfung ist die zweite Standardverknüpfung in PHP, die mit dem Schlüsselwort or realisiert wird.

37 Bernd Viehweger Apache-PHP-MySQL37 Zu PHP (25): NOT-Operator Der NOT-Operator ist ein Operator, der nur einen Wert benötigt, nicht wie die anderen beiden Operatoren zwei. Daher gibt es auch nur 2 mögliche Kombinationen: entweder der Wert für den Parameter ist true oder false. In PHP wird dieser Operator mit dem Zeichen ! erzeugt, der zu prüfende Wert wird dann dahinter geschrieben. Das Ergebnis dieses Operators ist die Negation vom verwendeten Wert. Also aus true wird false und umgekehrt.

38 Bernd Viehweger Apache-PHP-MySQL38 Zu PHP (26): XOR-Verknüpfung Eine (weitere) erweiterte Verknüpfung ist die XOR-Verknüpfung. Sie arbeitet wie eine OR-Verknüpfung, jedoch darf nur ein Wert true sein. Wenn beide Werte true sind, liefert diese Verknüpfung false. In PHP gibt es dafür die Verknüpfungszeichenkette xor. Das x steht dabei für exclusive.

39 Bernd Viehweger Apache-PHP-MySQL39 Zu PHP (27): Switch-Abfragen Bei einer switch-Abfrage handelt es sich um eine spezielle Art der Kontrollstruktur. Im Gegensatz zu einer if-Abfrage kann mit einer switch-Abfrage nur ein direkter Vergleich mit einem Wert durchgeführt werden. Wo es mit if möglich ist, komplexe Abfragen mit logischen Verknüpfungen zu erzeugen, verwendet eine switch-Abfrage intern nur den Vergleichsoperator ==. Eine Switch-Abfrage wird mit dem Schlüsselwort switch eingeleitet. Danach folgt in runden Klammern den Ausdruck der geprüft werden soll, üblicherweise eine Variable. Danach folgt der Switchrumpf, eingeleitet und beendet durch geschweifte Klammern ({}).

40 Bernd Viehweger Apache-PHP-MySQL40 Zu PHP (28): Wenn PHP zu einem case-Block hinspringt, führt er den PHP-Code an dieser Stelle aus. Wenn er dabei auf weitere case-Zeilen stößt, werden diese ignoriert. Dies bedeutet auch, das er nicht automatisch beim nächsten case stoppt.

41 Bernd Viehweger Apache-PHP-MySQL41 Zu PHP (29): Wenn dieses Verhalten nicht erwünscht ist, kann man eine break-Anweisung hinzufügen. Dies beendet dann den case-Teil und springt somit zum Ende der Switch-Abfrage. // default: – wenn kein passendes case vorhanden ist

42 Bernd Viehweger Apache-PHP-MySQL42 Zu PHP (30): Schleifen Es gibt 3 Arten von Schleifen in PHP: while, do-while und for sowie eine vierte Art foreach für arrays. While-Schleifen Eine while-Schleife ist der einfachste Schleifentyp. Sie besitzt einen Schleifenkopf, in dem nur ein Ausdruck steht. Dieser Ausdruck wird vor jedem Schleifendurchlauf ausgewertet und auf Boolean geprüft. Wenn der Ausdruck true ergibt, so wird der Schleifenrumpf ausgeführt. Danach beginnt die nächste Überprüfung des Schleifenkopfs. Wenn der Ausdruck false ergibt, so wird die Schleife beendet bzw. übersprungen und der weitere PHP-Code wird ausgeführt. Da der Ausdruck ständig für einen neuen Schleifendurchlauf überprüft wird, muss der Ausdruck irgendwann den Wert false liefern, damit die Schleife abgebrochen wird. Wenn dies nicht der Fall ist, hat man eine Endlosschleife, das Skript terminiert nicht sauber und der Webserver bricht das Skript von sich aus mit einer entsprechenden Fehlermeldung (meist nach 30 Sekunden) ab.

43 Bernd Viehweger Apache-PHP-MySQL43 Zu PHP (31): Eine While-Schleife wird in PHP mit dem Schlüsselwort while eingeleitet. Danach folgt in runden Klammern (()) der zu prüfende Ausdruck. Dann folgt ein einzelne Anweisung oder mehrere Anweisungen in geschweiften Klammern ({}), die von der Schleife gesteuert werden. Obwohl eine einzelne Anweisung keine geschweiften Klammern benötigt, ist es wie bei einer if-Abfrage üblich, trotzdem geschweifte Klammern zu verwenden, um die Übersichtlichbarkeit zu erhöhen.

44 Bernd Viehweger Apache-PHP-MySQL44 Zu PHP (32): Do-While-Schleife Eine Do-While-Schleife besitzt wie die while-Schleife einen zu prüfenden Ausdruck. Dieser steht jedoch am Ende der Schleife und wird auch erst an dieser Stelle überprüft. Da der Schleifenrumpf vor dem Schleifenkopf steht, kann der Schleifenkopf erst nach einem Durchlauf überprüft werden. Dies bedeutet auch, das eine Do-While-Schleife mindestens einmal durchlaufen wird, selbst wenn die Schleifenbedingung false ergibt. Dies ist auch der Unterschied zu einer While-Schleife. Wenn man möchte, dass die Schleife mindestens 1 mal durchlaufen wird, verwendet man eine Do-While-Schleife. Wenn die Schleife auch 0 mal durchlaufen werden soll, verwendet man eine While-Schleife.

45 Bernd Viehweger Apache-PHP-MySQL45 Zu PHP (33): Eine Do-While-Schleife wird mit dem Schlüsselwort do eingeleitet. Danach folgt der Schleifenrumpf, also die Anweisungen, die in einer Schleife ausgeführt werden sollen. Danach kommt das Schlüsselwort while, dann der zu prüfende Ausdruck in runden Klammern und dann (zwingend erforderlich) ein Semikolon. Bei einer While-Schleife ist ein Semikolon nicht Bestandteil der While-Schleife (so fehlerhaft wie bei if();), bei einer Do-While-Schleife hingegen pflicht. 40) // was auch immer dieser Code machen wird... ?>

46 Bernd Viehweger Apache-PHP-MySQL46 Zu PHP (34): For-Schleife Eine For-Schleife ist wie eine While-Schleife eine kopfgesteuerter Schleife (Do-While-Schleife ist fußgesteuert). Der Schleifenkopf ist somit vor dem Schleifenrumpf. Auch er enthält einen zu prüfenden Ausdruck. Zusätzlich zu einer While-Schleife enthält er noch 2 weitere Felder. Das eine Feld wird einmal zum Start ausgeführt, das andere Feld wird nach jedem Schleifendurchlauf ausgeführt. Eine For-Schleife wird mit dem Schlüsselwort for eingeleitet. Danach folgen in runden Klammern die 3 Felder von der for-Schleife, getrennt mit ;. Nach dem Schleifenkopf folgt wie üblich der Schleifenrumpf mit den Anweisungen.

47 Bernd Viehweger Apache-PHP-MySQL47 Zu PHP (35): Am Anfang wird der Teil Startanweisung ausgeführt (einmal). Dann wird wie bei while die Bedingung Bedingung geprüft und demnach entschieden, ob der Schleifenrumpf ausgeführt werden soll oder nicht. Am Ende des Schleifendurchlaufs, aber vor der nächsten Überprüfung, wird der Teil Durchlaufanweisung ausgeführt.

48 Bernd Viehweger Apache-PHP-MySQL48 Zu PHP (36): Aufbau von Arrays Arrays sind in PHP ein wichtiger Bestandteil. Formulardaten und URL-Parameter sind z.B. in Arrays abgelegt. Werte aus einer Datenbank werden in einem Array gespeichert. Alles was einer mathematischen Funktion entspricht, wird in PHP mit einem Array dargestellt. Formal sind Arrays geordnete (nicht zu verwechseln mit sortiert) Paare von Schlüsseln und Werten. Die Schlüssel, entsprechend im englischen keys genannt, dürfen dabei nur aus Integer-Zahlen oder Strings bestehen. Die Werte sind hingegen nicht eingeschränkt, dürfen insbesondere auch ihrerseits Arrays enthalten. Ein einzelnes Element aus so einem Array verwendet man dann ganz normal wie Variablen.

49 Bernd Viehweger Apache-PHP-MySQL49 Zu PHP (37): Verwenden von Arrays Arrays werden in PHP mit dem Sprachkonstrukt array erzeugt. Die Werte für das Array gibt man dann mit Kommata getrennt als Parameter an. Dieses Array besitzt 10 Elemente. Die Schlüssel, oder auch Indizes (Mehrzahl von Index), werden dann automatisch bestimmt, beginnend bei 0 aufsteigend. Somit gehört zum ersten aufgelisteten Arrayelement der Index 0, das letzte aufgelistete Arrayelement besitzt den Index 9.

50 Bernd Viehweger Apache-PHP-MySQL50 Zu PHP (38): Wie man sieht, können gleiche Werte im Array vorhanden sein, da sie sich im Schlüssel unterscheiden. So gibt es Arrayelemente mit dem Wert foo und den Indizes 0, 6, 7 und 9.

51 Bernd Viehweger Apache-PHP-MySQL51 Zu PHP (39): Die Werte eines Arrayelements können beliebig verändert werden, indem der neue Wert wie bei einer Variablen zugewiesen wird. Wenn es bereits ein Arrayelement mit dem angegebenen Index gibt, so wird der alte Wert mit den neuen Wert überschrieben. Wenn es kein solches Arrayelement gibt, wird ein neues Arrayelement an das Array angefügt, mit dem angegebenen Index und Wert. Damit ist es möglich, zuerst ein leeres Array zu erzeugen und nachher dieses zu füllen.

52 Bernd Viehweger Apache-PHP-MySQL52 Zu PHP (40): Neben Zahlen können auch Strings als Schlüssel/Indizes verwendet werden. Die Ausgabe ist dabei wie folgt: Mein Name ist Max Mustermann, ich bin 18 Jahre alt und lebe in Deutschland. array(3) { ["Name"]=> string(14) "Max Mustermann" ["Alter"]=> int(18) ["Wohnort"]=> string(11) "Deutschland }

53 Bernd Viehweger Apache-PHP-MySQL53 Zu PHP (41): Foreach-Schleifen Für Arrays gibt es den speziellen Schleifentyp foreach. Mit diesem Schleifentyp werden die einzelnen Arrayelemente eines Arrays durchlaufen. Eine Foreach-Schleife beginnt mit dem Schlüsselwort foreach. Dann folgt nach der öffnenden Klammer das Array bzw. die Variable, die das Array enthält, welches durchlaufen werden soll. Danach folgt das Schlüsselwort as und eine neue Variable. In dieser Variable wird für jeden Schleifendurchlauf der neue Wert des nächsten Arrayelements gespeichert. Nach der folgenden schließenden Klammer beginnt der Schleifenrumpf.

54 Bernd Viehweger Apache-PHP-MySQL54 Zu PHP (42): Wenn man zusätzlich zu den Werten noch die entsprechenden Arrayindizes benötigt, muss man vor der Schleifenvariable noch $var => schreiben. Auch hier kann der Variablennamen frei gewählt werden. "Max Mustermann", 'Alter' => 18, 'Wohnort' => 'Deutschland', 10 => 100); foreach ($user as $k => $v) { echo "Arrayelement mit dem Index '".$k."' enthält den Wert '".$v."'\n"; } ?> Die Indizes werden z.B. dann gebraucht, wenn in der Schleife Arrayelemente verändert werden sollen. Die Schleifendurchlaufvariablen enthalten nur Kopien der Arrayelemente. Wenn man nun ein Arrayelement verändern möchte, muss man wie üblich über array[index] zugreifen.

55 Bernd Viehweger Apache-PHP-MySQL55 1. Uebung mit PHP (ueb1.php) 1. PHP-Übung

56 Bernd Viehweger Apache-PHP-MySQL56 2. Uebung mit PHP (ueb2.php) 2. PHP-Übung

57 Bernd Viehweger Apache-PHP-MySQL57 2. Uebung mit PHP (ueb2.php) 2. PHP-Übung

58 Bernd Viehweger Apache-PHP-MySQL58 2. Uebung mit PHP (ueb2.php) 2. PHP-Übung

59 Bernd Viehweger Apache-PHP-MySQL59 2. Uebung mit PHP (ueb2.php) 2. PHP-Übung

60 Bernd Viehweger Apache-PHP-MySQL60 3. Uebung mit PHP (ueb3.php) 3. PHP-Übung

61 Bernd Viehweger Apache-PHP-MySQL61 3. Uebung mit PHP (ueb-php.php) zur 3. PHP-Übung

62 Bernd Viehweger Apache-PHP-MySQL62 Kleines Quiz (quiz.html) Kleines Quiz Was ist ein Verschlüsselungssystem? PHP PGP HTML TCP/IP

63 Bernd Viehweger Apache-PHP-MySQL63 Ergebnis (quiz2.php) Ihr Ergebnis:

64 Bernd Viehweger Apache-PHP-MySQL64 MySQL-Datenbank Firma mit der Tabelle Personen Datenbankname: Firma Tabelle: Personen Struktur: namevarchar(20) vornamevarchar(20) personalnummervarchar(5) gehaltdecimal(10,0) geburtstagdate schluesselvarchar(5)

65 Bernd Viehweger Apache-PHP-MySQL65 Aufbau des DB-Beispiels Firma db2.php Datensatz-Anzeige ohne Tabellendarstellung db3.php Datensatz-Anzeige in einer Tabellenform db4.php Eingabe von Datensätzen db7.php Änderung eines Datensatzes db9.php Auswahl eines zu löschenden Datensatzes db10.php Update des Datensatzes (db11.php Löschen des Datensatzes (mit Anzeige) ) db12.php Schließen der Datenbank Firma Anmerkung: Die Dateien dbx.php müssen im Verzeichnis htdocs gespeichert sein. Der Aufruf erfolgt in der URL eines Browsers mit

66 Bernd Viehweger Apache-PHP-MySQL66 PHP-Quelltexte des Datenbankbeispiels Firma Hier: Anzeige aller Datensätze in Tabellenform

67 Bernd Viehweger Apache-PHP-MySQL67 PHP-Quelltexte des Datenbankbeispiels Firma db2.php (1) PHP-Beispiel zu DB: Datensatz-Anzeige ohne Tabelle (db2.php)

68 Bernd Viehweger Apache-PHP-MySQL68 PHP-Quelltexte des Datenbankbeispiels Firma db2.php (2) for($i=0;$i<$num;$i++) { $nn=mysql_result($res, $i, "name"); $vn=mysql_result($res, $i, "vorname"); $pn=mysql_result($res, $i, "personalnummer"); $ge=mysql_result($res, $i, "gehalt"); $gt=mysql_result($res, $i, "geburtstag"); echo "$vn $nn, $pn, $ge, $gt "; } mysql_close($db); ?> Zur Anzeige aller Datensätze als Tabelle Zum Löschen eines Datensatzes Zur Eingabe eines Datensatzes Zum Ändern eines Datensatzes Datenbank "Firma" beenden

69 Bernd Viehweger Apache-PHP-MySQL69 PHP-Quelltexte des Datenbankbeispiels Firma db3.php (1) PHP-Beispiel zu DB: Anzeige in einer Tabelle (db3.php) Personaldatei Personalnummer Vorname Nachname Gehalt Geburtsdatum

70 Bernd Viehweger Apache-PHP-MySQL70 PHP-Quelltexte des Datenbankbeispiels Firma db3.php (2) for($i=0;$i<$num;$i++) { $nn=mysql_result($res, $i, "name"); $vn=mysql_result($res, $i, "vorname"); $pn=mysql_result($res, $i, "personalnummer"); $ge=mysql_result($res, $i, "gehalt"); $gt=mysql_result($res, $i, "geburtstag"); echo " $pn $vn $nn ". number_format($ge,2,",",".")." EUR "; echo " $gt "; } mysql_close($db);?> Zum Ändern eines Datensatzes Zur Anzeige aller Datensätze ohne Tabellenform Zum Löschen eines Datensatzes Zur Eingabe eines Datensatzes Datenbank "Firma" beenden

71 Bernd Viehweger Apache-PHP-MySQL71 PHP-Quelltexte des Datenbankbeispiels Firma db4.php (1) (Eingabe eines Datensatzes) 0) $Ausgabe= "Es wurde 1 Datensatz hinzugefügt"; else { echo " Es ist ein Fehler aufgetreten, "; echo "es wurde kein Datensatz hinzugefügt. "; } mysql_close($db); } ?>

72 Bernd Viehweger Apache-PHP-MySQL72 PHP-Quelltexte des Datenbankbeispiels Firma db4.php (2) PHP-Beispiel zu DB: Eingabe von Datensätzen (db4.php) Eingabe von Datensätzen in die MySQL-Datei "Firma" Personalnummer Vorname Nachname Geburtstag (jjjj-mm-tt) Gehalt in EURO Zur Anzeige aller Datensätze ohne Tabelle Zur Anzeige aller Datensätze in Tabellenform Zum Ändern eines Datensatzes Datenbank "Firma" beenden

73 Bernd Viehweger Apache-PHP-MySQL73 PHP-Quelltexte des Datenbankbeispiels Firma db7.php (1) (Ändern eines DS) PHP-Beispiel zu DB (db7): Ändern eines Datensatzes Ändern eines Datensatzes aus der MySQL-Datei "Firma", Tabelle "Personen" Personaldatei Auswahl Personalnummer Vorname Nachname Gehalt Geburtsdatum

74 Bernd Viehweger Apache-PHP-MySQL74 PHP-Quelltexte des Datenbankbeispiels Firma db7.php (2) for($i=0;$i<$num;$i++) { $nn=mysql_result($res, $i, "name"); $vn=mysql_result($res, $i, "vorname"); $pn=mysql_result($res, $i, "personalnummer"); $ge=mysql_result($res, $i, "gehalt"); $gt=mysql_result($res, $i, "geburtstag"); echo " "; echo " $pn $vn $nn ". number_format($ge,2,",",".")." EUR "; echo " $gt "; } mysql_close($db); ?>

75 Bernd Viehweger Apache-PHP-MySQL75 PHP-Quelltexte des Datenbankbeispiels Firma db7.php (3)

76 Bernd Viehweger Apache-PHP-MySQL76 PHP-Quelltexte des Datenbankbeispiels Firma db7.php (4) echo " "; echo " Nachname "; echo " Vorname "; echo " Personalnummer "; echo " Gehalt "; echo " Geburtstag "; echo " "; mysql_close($db); } else echo "Es wurde kein Datensatz ausgewählt "; ?> Zur Anzeige aller Datensätze ohne Tabellenform Zur Anzeige aller Datensätze als Tabelle Zum Löschen eines Datensatzes Zur Eingabe eines Datensatzes Datenbank "Firma" beenden

77 Bernd Viehweger Apache-PHP-MySQL77 PHP-Quelltexte des Datenbankbeispiels Firma db9.php (1) PHP-Beispiel zu DB: Löschen eines Datensatzes (db9.php) Löschen eines Datensatzes aus der MySQL-Datei "Firma", Tabelle "Personen" Personaldatei Auswahl Personalnummer Vorname Nachname Gehalt Geburtsdatum

78 Bernd Viehweger Apache-PHP-MySQL78 PHP-Quelltexte des Datenbankbeispiels Firma db9.php (2) for($i=0;$i<$num;$i++) { $nn=mysql_result($res, $i, "name"); $vn=mysql_result($res, $i, "vorname"); $pn=mysql_result($res, $i, "personalnummer"); $ge=mysql_result($res, $i, "gehalt"); $gt=mysql_result($res, $i, "geburtstag"); echo " "; echo " $pn $vn $nn ". number_format($ge,2,",",".")." EUR "; echo " $gt "; } mysql_close($db); ?>

79 Bernd Viehweger Apache-PHP-MySQL79 PHP-Quelltexte des Datenbankbeispiels Firma db9.php (3)

80 Bernd Viehweger Apache-PHP-MySQL80 PHP-Quelltexte des Datenbankbeispiels Firma db9.php (4) echo " Nachname "; echo " Vorname "; echo " Personalnummer "; echo " Gehalt "; echo " Geburtstag "; echo " "; mysql_close($db); } else echo "Es wurde kein Datensatz ausgewählt "; ?> Zur Anzeige aller Datensätze ohne Tabelle Zur Anzeige aller Datensätze in Tabellenform Zum Ändern eines Datensatzes Zur Eingabe eines Datensatzes Datenbank "Firma" beenden

81 Bernd Viehweger Apache-PHP-MySQL81 PHP-Quelltexte des Datenbankbeispiels Firma db10.php (1) (Update eines DS)

82 Bernd Viehweger Apache-PHP-MySQL82 PHP-Quelltexte des Datenbankbeispiels Firma db10.php (2) $num=mysql_affected_rows(); if ($num>0) echo "Der Datensatz wurde geändert "; else echo "Der Datensatz wurde nicht geändert "; mysql_close($db); ?> Zur Anzeige aller Datensätze ohne Tabelle Zur Anzeige aller Datensätze in Tabellenform Zum Ändern eines Datensatzes Zur Eingabe eines Datensatzes Datenbank "Firma" beenden

83 Bernd Viehweger Apache-PHP-MySQL83 PHP-Quelltexte des Datenbankbeispiels Firma db11.php (1) (Löschen eines DS)

84 Bernd Viehweger Apache-PHP-MySQL84 PHP-Quelltexte des Datenbankbeispiels Firma db11.php (2) $num=mysql_affected_rows(); if ($num>0) echo "Der Datensatz wurde gelöscht "; else echo "Der Datensatz wurde nicht gelöscht "; mysql_close($db); ?> Zum Löschen eines weiteren Datensatzes Zur Eingabe eines Datensatzes Zur Anzeige aller Datensätze ohne Tabell Zur Anzeige aller Datensätze in Tabellenform Zum Ändern eines Datensatzes Datenbank "Firma" beenden

85 Bernd Viehweger Apache-PHP-MySQL85 PHP-Quelltexte des Datenbankbeispiels Firma db12.php (1) (Schließen der DB Firma) PHP-Beispiel zu DB: Beenden der DB (db12.php) Jetzt ist die DB "Firma" geschlossen! Tschüss!

86 Bernd Viehweger Apache-PHP-MySQL86 Literatur Apache: MySQL: PHP: Schwarze et al.: E-Commerce und LAMP-Architektur In: wisu Das Wirtschaftsstudium, 32. Jg. (2002), Heft 11, S Adler, Olivia; Hartmut Holzgraefe: PHP lernen. - Addison-Wesley Verlag, Quakenet/#php Tutorial:


Herunterladen ppt "Bernd Viehweger Apache-PHP-MySQL1. Bernd Viehweger Apache-PHP-MySQL2 Client-Server-Prinzip Web- Server #1 Web- Server #2 Datenbank- Server Browser Ebene."

Ähnliche Präsentationen


Google-Anzeigen