Lutz Kleinostendarp. Berufliches Gymnasium Technik Informationstechnik

Größe: px
Ab Seite anzeigen:

Download "Lutz Kleinostendarp. Berufliches Gymnasium Technik Informationstechnik"

Transkript

1 Lutz Kleinostendarp Berufliches Gymnasium Technik Informationstechnik Unterrichtsskript zum Lerngebiet IT3: Software zur Prozessdatenverarbeitung entwickeln Einführung in die Programmierung mit PHP und MySQL Stand:

2

3 Einführung in die Programmierung mit PHP und MySQL.doc Seite 1 von 54 Inhaltsverzeichnis 1 HTML für PHP Eine einfache Seite Formulare Tabellen Einbettung von PHP in HTML Kommentare Variablen, Datentypen und Operatoren Regeln für Variablennamen Zahlenvariablen und Rechenoperatoren Textvariablen Formularauswertung Eingabenformular Auswertung mit $_POST Umwandlung von Zeichenketten in Zahlen Kontrollstrukturen Operatoren Vergleichsoperatoren logische Operatoren Logisches ODER Logisches UND Logisches NICHT Rangordnung der Operatoren Verzweigungen Einseitige Auswahl Zweiseitige Auswahl Geschachtelte Auswahl Mehrfachauswahl HTML in Verzweigungsblöcken Schleifen for-schleife while-schleife do-while-schleife foreach-schleife Felder Numerisch indizierte Felder Assoziative Felder Datenbankverbindung Der erste Kontakt Datensätze auswählen Ausgabe in eine HTML-Tabelle Auswahl von Daten in einem Suchformular Exkurs: Rekursiver Aufruf der gleichen Datei Datensätze erzeugen Datensätze ändern Zugriffsautorisierung Benutzerregistrierung Identifizierung Kennwörter Benutzerauthentifizierung HTTP-Authentifizierung Session-Daten in der URL Cookies... 45

4 Seite 2 von 54 Einführung in die Programmierung mit PHP und MySQL.doc 9.3 Statuserhalt durch Sessions Das Session-Management von PHP Freizügigkeit einer PHP-Session Daten einer Session verwalten Beispiel: Session zur Benutzerauthentifizierung Angriffsszenarien Informationsgewinnung Parametermanipulation Cross-Site-Scripting SQL-Injection Get-Parameter POST-Parameter Cookie-Parameter Schutz vor SQL-Injektion Autorisierung und Authentifizierung Man-in-the-Middle-Attacke Wörterbuchangriff Social Engineering Objektorientierte Programmierung in PHP Anhang: Verzeichnisse... 56

5 Einführung in die Programmierung mit PHP und MySQL.doc Seite 3 von 54 1 HTML für PHP In diesem Abschnitt werden die Bestandteile von HTML 1, die zur Bearbeitung der PHP 2 - Programme notwendig sind, dargestellt. Dies sind: Dokumentaufbau, Formulare und Tabellen. Zum Erlernen der Programmiersprache PHP, zum Ausprobieren der Beispiele und zum Lösen der Übungen muss man nur wenige Grundlagen von HTML beherrschen. Zum Testen benötigt man einen Texteditor und einen Web-Browser Zum Erzeugen von ansprechenden Websites, also mehreren miteinander verknüpften Seiten, sind allerdings genauere Kenntnisse notwendig. 1.1 Eine einfache Seite Innerhalb einer HTML-Seite befinden sich Text und Markierungen, die in spitzen Klammern eingebunden sind. Viele dieser Markierungen sind so genannte Container, das heißt, es gibt jeweils eine Anfangsmarkierung und eine Endmarkierung. Innerhalb des Containers befindet sich das gesamte Dokument. Es besteht aus den Containern <head> und. Im Container steht der eigentliche Inhalt des Dokuments. <head> <title> Meine erste Internetseite </title> </head> Das ist der erste Text der Internetseite. Listing 1-1: PHP1-1.htm Geben Sie das obige Beispiel mithilfe eines Editors ein. Speichern Sie es unter dem Dateinamen PHP1-1.htm in einem Verzeichnis ihrer Wahl. Laden Sie die Datei in einen Web-Browser. Abbildung 1-1: PHP1-1.htm 1 Hypertext Markup Language, eine textbasierte Auszeichnungssprache zur Strukturierung von Inhalten 2 ursprünglich Personal Home Page Tools, jetzt ein rekursives Akronym für PHP: Hypertext Preprocessor

6 Seite 4 von 54 Einführung in die Programmierung mit PHP und MySQL.doc 1.2 Formulare Eine besondere Stärke von PHP ist die einfache Auswertung von Formularinhalten. Durch eine solche Auswertung wird die Informationsübermittlung vom Betrachter der Webseite zum Webserver ermöglicht. Der HTML-Code: Bitte tragen Sie Ihren Namen ein<br> und senden Sie das Formular ab.<br> <form> <input type = "text" name="vorname" size="30"> Vorname <br> <input type = "text" name="nachname" size="30"> Nachname<br> <input type="submit"> <input type="reset"> </form> Listing 1-2: PHP1-2.htm Geben Sie das obige Beispiel einen und speichern Sie es unter dem Dateinamen PHP1-2.htm. In diesem Formular kann der Betrachter zwei Eintragungen vornehmen und das Formular absenden. Es fehlt allerdings noch ein passendes Server-Programm. Deshalb erfolgt bisher noch keinerlei Reaktion. Abbildung 1-2: PHP1-2.htm 1.3 Tabellen Tabellen dienen zur übersichtlicheren Darstellung größerer Datenmengen und zur mehrspaltigen Ausgabe in Dokumenten. Damit eignen sie sich besonders zur Ausgabe von Datenbankinhalten. Auch Formulare lassen sich mit Tabellen formatieren.

7 Einführung in die Programmierung mit PHP und MySQL.doc Seite 5 von 54 Bitte tragen Sie Ihren Namen ein<br> und senden Sie das Formular ab.<br> <form> <table border= 0 > <tr> <td>vorname</td> <td><input name= vorname size="30"></td> </tr> <tr> <td>nachname</td> <td><input name= nachname" size="30"></td> </tr> </table> <input type="submit"> <input type="reset"> </form> Listing 1-3: PHP1-3.htm Speichern Sie das obige Programm unter dem Namen PHP1-3.htm. Das Programm unterscheidet sich nur in der Anordnung von Bezeichner und Formularfeld von dem vorhergehenden. Abbildung 1-3: PHP1-3.htm

8 Seite 6 von 54 Einführung in die Programmierung mit PHP und MySQL.doc 2 Einbettung von PHP in HTML Eine grundsätzliche Bemerkung zu Beginn. In den folgenden Kapiteln sollen nicht nur die Grundkenntnisse der Sprache PHP vermittelt werden, sondern auch ein übersichtlicher, strukturierter Programmierstil. Nach meiner Erfahrung vereinfacht dies sowohl die Arbeit eines einzelnen Entwicklers als auch die Zusammenarbeit eines Entwickler-Teams. Grundsätzlich gibt es mehrere Wege, PHP-Programme in HTML-Dateien einzubetten. In den meisten PHP-Programmen wird jedoch die folgende Methode verwendet: [PHP-Anweisung]; [PHP-Anweisung]; [PHP-Anweisung]; Die Markierung leitet eine einzelne PHP-Anweisung oder einen Block von PHP- Anweisungen ein. Diese werden bis zur Markierung bearbeitet, die das Ende des Blocks darstellt. Jede PHP-Anweisung wird mit einem Semikolon abgeschlossen. PHP-Blöcke können im gesamten Dokument untergebracht werden. Der Code wird von oben nach unten abgearbeitet und es kann mehrmals zwischen HTML und PHP gewechselt werden. Das folgende Beispiel verdeutlicht die Einbettung von PHP-Code in HTML: <head> <title> Titelzeile der Datei</title> </head> <p>die erste Zeile in HTML</p> echo "<p>die zweite Zeile in PHP</p>"; <p>die dritte Zeile in HTML</p> echo "<p>die vierte Zeile in PHP</p>"; echo "<p>die fünfte Zeile in PHP</p>"; Listing 2-1: PHP2-1.php Speichern Sie das obige Programm unter dem Namen PHP2-1.php ab. Dieses Programm ist nicht direkt im Browser lauffähig. PHP ist eine serverseitige Sprache. Es ist deshalb notwendig, dass die Datei auf einem Web-Server ausgeführt wird. In der Installation von XAMPP liegen alle Web-Dokumente im Verzeichnis htdocs unterhalb des Hauptverzeichnisses xampp. Der Apache-Server übergibt alle Dateien mit der Endung.php zuerst dem PHP-Interpreter, bevor sie an den Client ausgeliefert werden. Abbildung 2-1: PHP2-1.php Das Programm kann durch den folgenden Befehl in einem Browser (Eingabe in die Adressleiste!) auf dem Server ausgeführt werden: localhost/php2-1.php

9 Einführung in die Programmierung mit PHP und MySQL.doc Seite 7 von 54 3 Kommentare Durch Kommentare wird ein Programm lesbar. Sie werden nicht ausgeführt, sondern dienen lediglich der Information des Entwicklers. Sollte es sich um eine Gruppe von Entwicklern handeln oder sollte das Programm später von anderen Entwicklern weiter bearbeitet werden, so ist eine ausführliche Kommentierung der eigenen Programmzeilen unerlässlich. Erfahrungsgemäß gibt es immer wieder Entwickler, die ihre Programme nur minimal kommentieren. Dies führt häufig zu Programmen, die (auch von dem ursprünglichen Programmierer) nicht oder nur unter größtem Aufwand weiterzuentwickeln sind. Man unterscheidet zwischen einzeiligen und mehrzeiligen Kommentaren: ein einzeiliger Kommentar beginnt mit den Zeichen // und endet am Ende der Zeile. Er wird im Allgemeinen zur Kommentierung einzelner Programmschritte verwendet. Eine mehrzeiliger Kommentar beginnt mit den Zeichen /* und endet mit den Zeichen */. Er wird üblicherweise zur Erläuterung eines ganzen Programmblocks verwendet. Ein Beispiel (PHP3-1.php): echo "Das ist der Anfang"; // Kommentar // bis zum Zeilenende /* Ein Kommentar über mehrere Zeilen hinweg */ echo " und hier das Ende des Programms"; Listing 3-1: PHP3-1.php Abbildung 3-1: PHP3-1.php

10 Seite 8 von 54 Einführung in die Programmierung mit PHP und MySQL.doc 4 Variablen, Datentypen und Operatoren Innerhalb eines Programms können Informationen zur späteren Verwendung in Variablen gespeichert werden. Für diese Variablen unterstützt PHP die folgenden Datentypen: ganze Zahlen Zahlen mit Nachkommastellen Zeichenketten Felder (ein- und mehrdimensional) Objekte Der Datentyp für eine Variable wird nicht vom Programmierer festgelegt, sondern richtet sich nach dem Zusammenhang der Verwendung. Eine Variable kann ihren Datentypen innerhalb eines Programms wechseln. Dies bedeutet, dass in PHP keine Variablendeklaration stattfindet und eine Variable bei ihrem ersten Erscheinen sofort benutzt werden kann. 4.1 Regeln für Variablennamen Für die Namen von Variablen (und später auch Funktionen) gelten folgende Regeln: Sie müssen mit einem Dollarzeichen "$" beginnen. Sie dürfen keine Leerzeichen enthalten. Sie dürfen nur aus Buchstaben und Ziffern bestehen. Dabei muss das erste Zeichen ein Buchstabe sein. Es wird zwischen Groß- und Kleinschreibung unterschieden. Sie dürfen keine deutschen Umlaute oder sonstige Sonderzeichen enthalten. Als einziges Sonderzeichen ist der Unterstrich "_" erlaubt. Sie dürfen mit keinem reservierten Wort identisch sein. Es empfiehlt sich, selbst erklärende Namen zu vergeben. Dadurch wird nicht nur der Programmcode besser lesbar, sondern auch Fehler durch die Verwendung falscher Variablen weit gehend vermieden. 4.2 Zahlenvariablen und Rechenoperatoren Mit dem folgenden Programm soll der Preis für eine Tankfüllung Benzin berechnet werden.

11 Einführung in die Programmierung mit PHP und MySQL.doc Seite 9 von 54 $liter = 14; $preis = 1.35; $zahlung = $liter * $preis; echo $zahlung; Listing 4-1: PHP4-1.php Der Ablauf des Programms kann hier wie folgt beschrieben werden: Abbildung 4-1: PHP4-1.php Die zwei Variablen $liter und $preis werden eingeführt und ihnen werden Werte zugewiesen. Wie zu erkennen ist, handelt es sich im ersten Fall um eine Ganzzahl, im zweiten Fall um eine Zahl mit Nachkommastellen. Zu beachten ist, dass als Dezimaltrennzeichen ein Punkt zu verwenden ist. Die beiden Variablen werden multipliziert und das Ergebnis der dritten Variablen zugewiesen. Der Inhalt dieser dritten Variablen wird dann mit dem Befehl echo ausgegeben. Operator Bedeutung + Addition - Subtraktion * Multiplikation / Division % Modulo (Rest einer Ganzzahldivision) += Kombinationsanweisung: $x += 3; erhöht den Wert von $x um 3 -= Kombinationsanweisung: $x -= 3; verringert den Wert von $x um 3 Tabelle 1: Rechenoperatoren Für Rechnungen können die üblichen arithmetischen Operatoren verwendet werden. Bei der Berechnung gelten die in der Mathematik üblichen Prioritäten. Also z.b. Punkt- vor Strichrechnung. Außerdem findet die Abarbeitung der Ausdrücke von links nach rechts statt. Die Reihenfolge kann allerdings mit dem Setzen von Klammern beeinflusst werden. Übung 4.1: Erweitern Sie das Beispielprogramm dahingehend, dass drei verschiedene Litermengen eingelesen werden und am Ende ein Gesamtpreis ausgegeben wird. Übung 4.2: Berechnen Sie in einem PHP-Programm den Bruttopreis eines Einkaufs. Es wurden drei Artikel gekauft. Die Nettopreise der Artikel betragen: 22,50, 12,30 und 5,20. Der Bruttopreis berechnet sich bekanntlich aus dem Nettopreis zuzüglich 19% Umsatzsteuer. 4.3 Textvariablen Zeichenketten müssen in einfache oder doppelte Hochkommata eingeschlossen werden. Das Zeichen "." (Punkt) dient der Verkettung mehrerer Zeichenketten oder Zahlen miteinander. Dies kann auch für eine Kombination von Konstanten und Variablen genutzt werden. Auch hier kann die Kombinationsanweisung ".=" (Punkt + Gleich) zur Vergrößerung einer Zeichenkette eingesetzt werden. Falls die Zeichenketten HTML-Code enthalten, so gelangt dieser HTML- Code zur Ausführung.

12 Seite 10 von 54 Einführung in die Programmierung mit PHP und MySQL.doc $liter = 14; $preis = 1.35; $zahlung = $liter * $preis; $einheit1 = "Liter"; $einheit2 = "Euro"; $gesamt = "Tankfüllung: ". $liter. " ". $einheit1; $gesamt.= " kosten ". $zahlung. " ". $einheit2. "<br>"; echo $gesamt; echo "Tankfüllung: $liter $einheit1 kosten $zahlung $einheit2<br>"; echo 'Tankfüllung: $liter $einheit1 kosten $zahlung $einheit2<br>'; Listing 4-2: PHP4-2.php Das Programm ist eine Erweiterung der Preisberechnung des letzten Kapitels. Der Variablen $gesamt wird eine Zeichenkette zugewiesenen, die sich aus Text- und Zahlenvariablen zusammensetzt. In einer zweiten Zeile wird diese Variable verlängert. Die Textausgabe erfolgt auf drei Arten: 1. Ausgabe der Variablen. 2. Direkte Ausgabe der zusammengesetzten Zeichenkette in doppelten Hochkommata. 3. Direkte Ausgabe der zusammengesetzten Zeichenkette in einfachen Hochkommata. Abbildung 4-2: PHP4-2.php Nach der Ausführung im Browser ist zu erkennen, dass die zweite Variante in der Ausgabe der ersten entspricht. In der dritten Variante werden statt der Werte die Namen der Variablen ausgegeben. Dies ist normalerweise nicht erwünscht.

13 Einführung in die Programmierung mit PHP und MySQL.doc Seite 11 von 54 5 Formularauswertung Bisher hatte der Benutzer eines Programms noch keine Möglichkeit, eigene Eingaben vorzunehmen. Alle Werte mussten direkt in das Programm eingetragen sein, er konnte nur das Ergebnis betrachten. PHP kommt jedoch typischerweise gerade bei der Auswertung von Benutzereingaben aus Formularen zum Einsatz. Hierdurch wird die dynamische Informationsübermittlung zwischen Benutzer und Webserver überhaupt erst ermöglicht. Der Ablauf ist dabei typischerweise wie folgt: Zunächst erhält der Nutzer ein Formular, in dem er eigene Einträge vornehmen kann beziehungsweise unter vorgefertigten Einträgen auswählt. Nach dem Ausfüllen sendet er das Formular ab und erhält nach der Auswertung die Antwort vom Webserver. In dieser einführenden Betrachtung soll die Datenübertragung mithilfe von einzeiligen Text-Eingabefeldern ermöglicht werden. Grundsätzlich können aber auch in PHP alle Formularelemente 3 verwendet werden. 5.1 Eingabenformular Der HTML-Programmcode des Formulars: Bitte tragen Sie Ihren Vornamen und Ihren Nachnamen ein.<br> Senden Sie anschließend das Formular ab.<br> <form action = "PHP5-1.php" method = "post"> <input type = "text" name = "vorname"> Vorname <br> <input type = "text" name = "nachname"> Nachname <br> <input type = "submit"> <input type = "reset"> </form> Listing 5-1: PHP5-1.htm Innerhalb des HTML-Dokuments befindet sich ein form-container. Dieser beinhaltet in seinem Start-Tag: das Attribut action, das auf eine Datei mit dem PHP-Auswertungsprogramm verweist. Hier: PHP5-1.php. Das Attribut method, welches die Übertragungsmethode zum Webserver kennzeichnet (hier: post). Innerhalb des form-containers befinden sich die verschiedenen Formularelemente. 3 Zum Einsatz von Formularelementen in HTML siehe z.b. de/selfhtml.org

14 Seite 12 von 54 Einführung in die Programmierung mit PHP und MySQL.doc Abbildung 5-1: PHP5-1.htm Übung 5.1: Erweitern Sie das Beispiel so, dass eine ganze Adresse eingegeben werden kann. Zusätzlich sollen also Eingabefelder für Straße, Hausnummer, Postleitzahl und Ort im Formular vorhanden sein. 5.2 Auswertung mit $_POST Das Programm PHP5-1.htm verweist auf das Programm PHP5-1.php. Dieses auswertende PHP- Programm sieht wie folgt aus: echo "Guten Tag, ". $_POST["vorname"]. " ". $_POST["nachname"]; Listing 5-2: PHP5-1.php Die Ergebnisausgabe könnte dann so aussehen: Es gibt in PHP einige vordefinierte Variablen, darunter das assoziative Feld 4 $_POST. Die Namen der Formular-Eingabefelder werden automatisch zu Elementen dieses Feldes umgewandelt, sofern die Übertragungsmethode post verwendet wurde. Assoziative Felder sind Arrays, deren Elemente mit einem Namen angesprochen werden können. Aus dem Text-Eingabefeld vorname wird somit der Wert $_POST["vorname"] des Feldes. Abbildung 5-2: PHP5-1.php 4 vergleiche hierzu Kapitel 7.2

15 Einführung in die Programmierung mit PHP und MySQL.doc Seite 13 von 54 Feld-Elemente dürfen allerdings nicht unmittelbar innerhalb einer Zeichenkette ausgegeben werden, wie dies bei einzelnen Variablen erlaubt ist. Hierdurch gerät die Ausgabezeile etwas umfangreicher. Statt mit der Methode post kann ein Formular auch mit der Methode get 5 verwendet werden. In diesem Fall ersetzt das Feld $_GET das Feld $_POST. Im Allgemeinen ist aber die Methode post zu bevorzugen, da sie sicherer und universeller ist. Übung 5.2: Erweitern Sie die Ergebnisdatei derart, dass sie alle Eingabefelder aus Übung 5.1 wiedergeben kann. Die Ausgabe im Browser soll wie folgt aussehen: Abbildung 5-3: Uebung5-2.php 5.3 Umwandlung von Zeichenketten in Zahlen Ein Texteingabefeld eines Formulars gibt immer eine Zeichenkette aus. Auch an das PHP- Programm wird eine Zeichenkette übermittelt. Häufig soll jedoch Zahlen, zum Beispiel zur Ausführung von Berechnungen, ermittelt werden. Dazu sind die folgenden Regeln zu beachten. Entscheidend für die Konvertierung einer Zeichenkette ist ihr Beginn. Beginnt die Zeichenkette mit gültigen numerischen Zeichen, so werden diese genutzt. Andernfalls ergibt sich der Wert 0. Gültige Elemente von numerischen Zeichen sind: ein Vorzeichen (optional) Ziffern ein Dezimalpunkt (optional) ein Exponent (optional). Der Exponent ist ein kleines "e" oder ein großes "E", gefolgt von einer oder mehreren Ziffern. Die Zeichenkette wird wie folgt interpretiert: als ganze Zahl, falls sie nur aus Ziffern bestellt als Zahl mit Nachkommastellen, falls sie neben den Ziffern die Zeichen "." (Punkt), "e" oder "E" beinhaltet. 5 Daten werden bei der Methode get in der URI übertragen ( während die Methode post diese im Body der Nachricht (also unsichtbar) überträgt.

16 Seite 14 von 54 Einführung in die Programmierung mit PHP und MySQL.doc Beispiele Zeichenkette Wert Datentyp " ganze Zahl "234xy" 234 ganze Zahl "xy234" 0 Zeichenkette "23.4" 23.4 Zahl mit Nachkommastellen "23.4xy" 23.4 Zahl mit Nachkommastellen "xy23.4" 0 Zeichenkette "-234" -234 ganze Zahl "23e4" Zahl mit (möglichen) Nachkommastellen "23e-4" Zahl mit Nachkommastellen Tabelle 2: Umwandlung von Zeichenketten in Zahlen Sofern man sichergehen möchte, dass eine Variable als Zahlenwert interpretiert wird, kann man die Umwandlung explizit vornehmen. Hierzu dienen die beiden Funktionen doubleval() und intval(). Die erste der beiden Funktionen wandelt dabei immer in eine Zahl mit Nachkommastellen um, die zweite erzeugt eine ganze Zahl. In Anlehnung an C ist auch eine Typumwandlung als sogenannte Cast-Operation möglich. Dabei gibt man den gewünschten Datentyp in Klammern vor der umzuwandelnden Variablen an. Die Anweisung $zahl = (int) $zahl wandelt die Variable $zahl z.b. in eine ganze Zahl um. Folgende Umwandlungen sind möglich: (int), (integer) Integer, Ganzzahl (bool), (boolean) Boolean, Wahrheitswert (float), (double), (real) float, Kommazahl (string) string, Zeichenkette (array) Array (object) Objekt Dabei sind nicht alle Umwandlungsmöglichkeiten sinnvoll. In den Beispielen dieses Skripts werden Eingabefehler des Benutzers nicht immer abgefangen. In realen Programmen sollte man aber soweit wie möglich Routinen einbauen, die Eingabefehler erkennen. Grundsätzlich gilt aber immer der Grundsatz: Kein Programm ist vollständig gegen Eingabefehler geschützt. Übung 5.3: Erstellen Sie ein Formular, in dem der Benutzer aufgefordert wird, zwei Zahlen einzugeben und das Formular abzusenden. Erstellen Sie ein PHP-Programm, das die Summe dieser beiden Zahlen ermittelt und das Ergebnis ausgibt.

17 Einführung in die Programmierung mit PHP und MySQL.doc Seite 15 von 54 6 Kontrollstrukturen Bisher wurden alle Dateien rein sequenziell abgearbeitet. Auch ein PHP-Programm muss aber in der Lage sein, ebenso wie andere Programme, auf unterschiedliche Bedingungen zu reagieren. Bei den Kontrollstrukturen unterscheiden wir zwischen Verzweigungen und Schleifen. Da die grundsätzliche Funktion sich nicht von der in anderen Programmiersprachen unterscheidet, werden wir uns hier im Wesentlichen auf die Syntax innerhalb eines PHP-Programms beschränken. 6.1 Operatoren Vergleichsoperatoren Ob eine Anweisung ausgeführt wird oder nicht, wird mithilfe von Wahrheitswerten entschieden. Diese sind das Ergebnis von Vergleichsoperationen. Die Vergleichsoperatoren entsprechen denen anderer Programmiersprachen wie C++ oder Java und sind in der folgenden Tabelle dargestellt. Operator Bedeutung gilt == Gleichheit für Zahlen und Zeichenketten!= Ungleichheit für Zahlen und Zeichenketten > größer als nur für Zahlen < kleiner als nur für Zahlen >= größer oder gleich nur für Zahlen <= kleiner oder gleich nur für Zahlen Tabelle 3: Vergleichsoperatoren logische Operatoren Es kommt häufig vor, dass mehrere Bedingungen miteinander verknüpft werden müssen. Hierzu benötigt man die logischen Operatoren Logisches ODER Das logische ODER (Zeichen oder OR) wird verwendet, wenn nur eine von mehreren Bedingungen zutreffen muss. Dabei ist unbedingt zu beachten, dass jede der beiden einzelnen Bedingungen vollständig formuliert wird. Die Aussage pw == "bingo" pw == "cool" ergibt wahr, wenn in die Variable pw entweder der Wert "bingo" oder der Wert "cool" eingegeben wurde Logisches UND Das logische UND (Zeichen && oder AND) wird verwendet, wenn alle Bedingungen zutreffen müssen. Die Aussage bn == "bingo" && pw = "cool"

18 Seite 16 von 54 Einführung in die Programmierung mit PHP und MySQL.doc ergibt wahr, wenn die Variable bn den Wert "bingo" und die Variable pw den Wert "cool" enthält Logisches NICHT Mithilfe des Operators NICHT (Zeichen!) kann man den Wahrheitswert von Bedingungen umkehren. Dies ist insbesondere bei komplexeren logischen Verknüpfungen hilfreich. Die folgende Aussage ergibt in jedem Fall den Rückgabewert wahr: pw == "bingo"!(pw == "bingo") Rangordnung der Operatoren Ausdrücke mit mehreren Operatoren werden von links nach rechts unter Beachtung der Rangordnung aufgelöst. Im Folgenden eine Tabelle der Rangordnung der bisher beschriebenen Operatoren. Es wird mit der höchsten Stelle der Rangordnung begonnen. Operatoren Bedeutung () Klammern!, - logisches NICHT; negatives Vorzeichen *, /, % Multiplikation; Division; Modulo + - Addition; Subtraktion <, <=, >, >= kleiner; kleiner oder gleich; größer; größer oder gleich ==,!= gleich; ungleich && AND logisches UND OR logisches ODER = Zuweisung Tabelle 4: Rangordnung der Operatoren Klammern stehen an der höchsten Stelle der Rangordnung. Mit ihrer Hilfe kann also die Rangfolge der Operatoren beeinflusst werden. Im Zweifelsfall ist es empfehlenswert, zusätzliche Klammern zu verwenden. 6.2 Verzweigungen In Verzweigungen wird die Ausführung einer Anweisung von einer oder mehreren Bedingungen abhängig gemacht. Je nachdem, ob die Bedingung zutrifft, werden die entsprechenden Anweisungen ausgeführt oder nicht. Wie die meisten modernen Programmiersprachen kennt PHP einseitige, zweiseitige oder mehrseitige Auswahlbedingungen Einseitige Auswahl Die einfache if-anweisung wird hier als bekannt vorausgesetzt und deshalb nur mit einem kleinen Beispiel vorgestellt.

19 Einführung in die Programmierung mit PHP und MySQL.doc Seite 17 von 54 $preis = 0.98; if ($preis < 1) echo "Der Preis liegt unter 1 Euro"; Listing 6-1: PHP6-1.php Das Beispiel zeigt zwei Besonderheiten: Die Bedingung muss in Klammern stehen. Eine einfache Anweisung kann unmittelbar auf die Bedingung folgen. Sollen allerdings aufgrund einer Bedingung mehrere Anweisungen ausgeführt werden, so müssen diese innerhalb geschweifter Klammern stehen. Dieses nennt man einen Anweisungsblock. Das folgende Beispiel ist um eine zweite Ausgabe erweitert. $preis = 0.98; if ($preis < 1){ echo "Der Preis liegt unter 1 Euro<br>"; echo "Das ist günstig"; Listing 6-2: PHP6.2.php Grundsätzlich können die geschweiften Klammern des Anweisungsblocks in einer eigenen Zeile oder mit in der Anweisungszeile stehen. Das obige Beispiel (öffnende Klammer in der Bedingungszeile, schließende Klammer in einer eigenen Zeile) verbindet die Vorteile von Übersichtlichkeit und Platzeinsparung. Wichtig ist dabei zur Übersichtlichkeit die Einrückung des Anweisungsblocks. Übung 6.1: Erstellen Sie ein Eingabeformular, in das sich der Preis eingeben lässt und werten sie diese Eingabe mit dem obigen Programm (in leicht angepasster Form) aus. Achtung: Bei einem Preis über 1 erfolgt keine Ausgabe.

20 Seite 18 von 54 Einführung in die Programmierung mit PHP und MySQL.doc Zweiseitige Auswahl Die if-else-anweisung sieht ganz entsprechend aus: $preis = 1.02; if ($preis < 1){ echo "Der Preis liegt unter 1 Euro<br>"; echo "Das ist günstig"; else{ echo "Der Preis liegt bei 1 Euro oder darüber<br>"; echo "Langsam wird es teuer"; Listing 6-3: PHP6-3.php Übung 6.2: Verändern Sie das Eingabeformular aus Übung 6.2Übung 6.1, so dass eine zweiseitige Ergebnisauswahl stattfindet. Übung 6.3: Erstellen Sie ein Formular, indem der Benutzer ein Zugangs Passwort eintragen soll (ausnahmsweise in sichtbarer Form). Das PHP-Programm vergleicht die Eingabe mit dem gespeicherten Passwort und reagiert entsprechend mit der Ausgabe "Zugang gestattet" oder "Zugang verweigert". Übung 6.4: Erweitern Sie Übung 6.3 für drei Passwörter. Übung 6.5: Erweitern Sie Übung 6.4, so dass auch ein zugehöriger Nutzername mitgeprüft wird Geschachtelte Auswahl Die if-else-verzweigung lässt sich auch schachteln, so dass mehr als zwei Fälle unterschieden werden können. $preis = 1.12; if ($preis < 1){ echo "Der Preis liegt unter 1 Euro<br>"; echo "Das ist günstig"; else{ if ($preis < 1.2){ echo "Der Preis liegt zwischen 1 Euro und 1.20 Euro<br>"; echo "Langsam wird es teuer"; else{ echo "Der Preis liegt über 1.20 Euro<br>"; echo "Das ist viel zu teuer"; Listing 6-4: PHP6-4.php

21 Einführung in die Programmierung mit PHP und MySQL.doc Seite 19 von 54 Übung 6.6: Es soll der Preis für eine Tankfüllung berechnet werden. Drei Benzinsorten sind zu berücksichtigen: Normal (Preis: 1,50 ), Super (Preis: 1,80 ) und Diesel (Preis: 1,35 ). Im Eingabenformular soll in das erste Eingabefeld die getankte Literzahl und in das zweite Eingabefeld entweder ein N, ein S oder ein D eingegeben werden. Das PHP-Programm ermittelt abhängig von der Sorte und der Menge den zu zahlenden Betrag. Eine Prüfung auf Fehleingaben findet nicht statt Mehrfachauswahl Die Mehrfachauswahl mit switch-case bietet für einen bestimmten Typ von Verzweigungen eine andere Schreibweise. Sie kann eingesetzt werden, wenn die gleiche Variable auf mehrere feste Werte geprüft werden soll. Diese Form ist bei vielen verschiedenen Prüfungen übersichtlicher als die geschachtelte Verzweigung. Sie bietet aber keine Möglichkeit für eine Bereichsprüfung. Übung 6.6 sieht mit switch-case wie folgt aus : switch ($_POST ["sorte"]){ case "N": $zahlung = $_POST ["liter"] * 1.50; echo $_POST ["liter"]. " L Normal kosten $zahlung Euro"; break; case "S": $zahlung = $_POST ["liter"] * 1.80; echo $_POST ["liter"]. " L Super kosten $zahlung Euro"; break; case "D": $zahlung = $_POST ["liter"] * 1.35; echo $_POST ["liter"]. " L Diesel kosten $zahlung Euro"; break; default: echo "Als Sorte dürfen nur N, S oder D eingegeben werden!"; Listing 6-5: PHP6-5.php Es wird ein so genannter switch-block erzeugt. Innerhalb dieses switch-blockes wird der Wert von $_POST["sorte"] untersucht. Die vorhandenen Fälle werden der Reihe nach verglichen. Sobald einer der Fälle zutrifft, werden die weiteren Anweisungen bearbeitet, bis man auf die Anweisung break trifft. Die Anweisungen nach dem break werden nicht mehr ausgeführt. Die optionale Anweisung default ist dann nützlich, wenn keiner der genannten Fälle zutraf. Im oben angegebenen Programm wird sie als Fehlerkontrolle genutzt, falls der Benutzer keine erlaubte Sorte eingegeben hat. Übung 6.7: Erweitern Sie das Formular aus Übung 5.3 um ein Auswahlfeld zur Auswahl einer der Rechenoperationen +, -, *, /. Erstellen Sie ein PHP-Programm, das die jeweils gewählte Rechenoperation durchführt und das Ergebnis ausgibt.

22 Seite 20 von 54 Einführung in die Programmierung mit PHP und MySQL.doc HTML in Verzweigungsblöcken Falls innerhalb einer einfachen oder mehrfachen Verzweigung jeweils nur reiner HTML-Code ohne PHP-Variablen ausgegeben werden soll, ist eine gemischte Schreibweise von PHP und HTML möglicherweise einfacher. Das folgende Beispiel zeigt, wie eine Verzweigung auf mehrere PHP-Blöcke verteilt werden kann. Dazwischen steht reiner HTML-Code ohne echo, Anführungszeichen, Semikolon usw. Zu beachten ist aber, dass nach der Bedingung if ($preis < 1) und der else-anweisung ein Doppelpunkt notiert werden muss. Dieser zeigt an, dass die Verzweigung noch nicht abgeschlossen ist. Der folgende HTML-Code wird dann nur ausgeführt, wenn die Bedingung zutrifft. Ansonsten wird mit dem nächsten Teil der Verzweigung (nächster PHP-Block) fortgesetzt. Bei dieser Variante muss der Bedingungsblock am Ende explizit mit einem endif abgeschlossen werden. $preis = 1.12; if ($preis < 1): Der Preis liegt unter 1 Euro<br> Das ist günstig else: Der Preis liegt bei 1 Euro oder darüber<br> Langsam wird es teuer endif; Listing 6-6: PHP6-6.php

23 Einführung in die Programmierung mit PHP und MySQL.doc Seite 21 von Schleifen Schleifen werden verwendet, um Anweisungen in Abhängigkeit der Laufzeitbedingungen wiederholen zu können. PHP kennt die for- und die while-schleife. Schleifen bergen immer die Gefahr in sich, einen Zustand zu erreichen, in dem sie nicht mehr angebrochen werden können. Man spricht dann von Endlosschleifen. Endlosschleifen machen sich durch Programmabstürze bemerkbar. Das Programm "hängt sich auf" und muss von außen (über das Betriebssystem) mit der Gefahr von Datenverlust beendet werden for-schleife Die for-schleife wird benutzt, um eine feste Anzahl von Wiederholungen zu erzeugen (Zählschleife). In seltenen Fällen ist sie Zahl der Wiederholungen schon während der Programmierung bekannt und kann als Konstante eingetragen werden. In den meisten Fällen ergibt sich die Anzahl während des Programmlaufs und wird dann als Variablenwert eingebracht. for ($i=1; $i<=5; $i++){ echo "Zeile $i <br>"; Listing 6-7: PHP6-7.php Die for-schleife besteht aus Kopf und Rumpf. Der Rumpf beinhaltet die Anweisungen zwischen den geschweiften Klammern. Der Kopf besteht aus drei Teilen Startwert der Schleifenvariablen: Mit diesem Wert erfolgt der erste Durchlauf. Bedingung zur Wiederholung: Die Schleife wird solange wiederholt, wie diese Bedingung wahr ergibt. Veränderung der Schleifenvariablen: Die Veränderung kann wie im Beispiel in Kurzform oder ausführlich ($i = $i + 2) notiert werden. Fehler können entstehen, wenn: Der Startwert der Schleifenvariablen die Prüfbedingung nicht erfüllt. In diesem Fall wird die Schleife nicht durchlaufen. Sofern in ihr für den weiteren Programmablauf wichtige Einstellungen vorgenommen werden, fehlen diese; im Programmablauf können Fehler auftreten. Die Bedingung dauerhaft erfüllt ist (Endlosschleife), die Veränderung der Schleifenvariablen also zu keinem ungültigen Wert führt. Dies ist in folgendem Beispiel des Schleifenkopfes der Fall: for ($i=3; $i>2; $i++). Die Bedingung ergibt für jeden erzeugten Wert von $i wahr.

24 Seite 22 von 54 Einführung in die Programmierung mit PHP und MySQL.doc Übung 6.8: Schreiben Sie ein Programm, dass mit Hilfe mehrerer for-schleifen die nachfolgenden Zeilen ausgibt. Die letzte Zahlenreihe benötigt eine zusätzliche if-prüfung Z5 Z7 Z9 Z11 Z13 ab1 ab2 ab3 c2 c3 c12 c13 c22 c Schleifen können sich auch innerhalb von Schleifen befinden. Man spricht dann von geschachtelten Schleifen. Dies ermöglicht die Bearbeitung von mehrdimensionalen Strukturen, die z.b. im Umgang mit Datenbankinhalten auftreten. for ($i=1; $i<=5; $i++){ for ($j=1; $j<=3; $j++){ echo "Zeile $i / Spalte $j - "; echo "<br>"; Listing 6-8: PHP6-8.php Übung 6.9: Schreiben Sie mit Hilfe von zwei geschachtelten for-schleifen ein Programm, dass das kleine Einmaleins ausgibt. Schleifen werden häufig im Zusammenhang mit Tabellen eingesetzt. Gerade im Zusammenhang mit Datenbanken wird dadurch die Ausgabe wesentlich lesbarer. Die einfache for-schleife vom Beginn dieses Kapitels ließe sich dann wie folgt darstellen. In dem folgenden Beispiel werden Tabellenbeginn und -ende als HTML-Code im PHP-Bereich angegeben. Hierbei ist zu beachten, dass die Zellausrichtung (align = 'right') innerhalb der Zeichenkette (also zwischen doppelten Hochkommata / Anführungszeichen) in einfachen Hochkommata angegeben werden muss, da andernfalls für PHP die Zeichenkette zu früh beendet wäre. <table> for ($i=1; $i<=5; $i++){ echo "<tr><td>zeile</td><td align='right'>$i</td></tr>"; </table> Listing 6-9: PHP6-9.php

25 Einführung in die Programmierung mit PHP und MySQL.doc Seite 23 von 54 Die geschachtelte Schleife könnte wie folgt in eine Tabelle ausgegeben werden: <table> for ($i=1; $i<=5; $i++){ echo "<tr>"; for ($j=1; $j<=3; $j++){ echo "<td align='right'>zeile $i / Spalte $j</td>"; echo "</tr>"; </table> Listing 6-10: PHP6-10.php Übung 6.10: Geben Sie das Einmaleins aus Übung 6.9 in eine Tabelle aus while-schleife Mit der while-schleife lässt sich eine unbestimmte Anzahl von Wiederholungen erzeugen. Das Ende der Wiederholungen wird durch eine Bedingung während der Schleifendurchläufe erreicht und ist nicht vorhersehbar. while-schleifen werden häufig bei Datenbankabfragen eingesetzt, da die Anzahl der einzulesenden Elemente vorher meist nicht bekannt ist. Da die Bedingung in der while-schleife am Anfang geprüft wird, nennt man diese Art kopfgesteuert. Im folgenden Beispiel sollen die "zufälligen" Würfelergebnisse eines Zufallsgenerators solange addiert werden, bis der Würfel eine sechs zeigt. Auf die notwendigen mathematischen Funktionen soll hier nur kurz eingegangen werden. Die Funktionen srand() initialisiert den Zufallsgenerator, damit er tatsächlich zufällige Ergebnisse produziert. Die Funktionen rand() erzeugt damit jeweils ein Würfelergebnis in den angegebenen Grenzen. Die Anzahl der Würfe sind sowohl dem Entwickler also dem Benutzer unbekannt, daher kann keine for-schleife verwendet werden. /* Initialisierung */ srand((double)microtime()* ); $summe = 0; $zaehler = 0; $zufallszahl = 0; while ($zufallszahl!= 6){ $zaehler += 1; $zufallszahl = rand(1,6); //Würfel $summe = $summe + $zufallszahl; echo "Gewürfelt wurde $zufallszahl<br>"; echo "Insgesamt $zaehler Würfe, Gesamtsumme $summe<br>"; Listing 6-11: PHP6-11.php

26 Seite 24 von 54 Einführung in die Programmierung mit PHP und MySQL.doc Neben dem Zufallsgenerator werden in der Initialisierung noch die Variablen $summe, $zaehler und $zufallszahl auf 0 initialisiert. Die while-schleife prüft in ihrem Kopf, ob die Zufallszahl ungleich sechs ist. Dies ist zu Beginn der Fall, so dass der Schleifenkörper durchlaufen wird. Als erstes wird der Zähler um eins hoch gezählt. In ihm findet sich also die gesamte Zahl der bisherigen Würfel wieder. Nach der Erzeugung der Zufallszahl wird diese zu der Gesamtsumme hinzu addiert. Danach wird die Zufallszahl ausgegeben. Nach dem Wurf einer sechs wird die Schleife abgebrochen, das Programm gibt dann die gesamte Zahl der Würfe sowie die gesamte Summe aus. Übung 6.11: Zwei Spieler würfeln abwechselnd gegeneinander (Zufallsgenerator). Die Würfel jedes Spielers werden addiert. Sobald einer der beiden Spieler eine Sechs wirft, ist das Spiel zu Ende. Mithilfe der Anweisung break, die bereits aus der switch-case-verzweigung bekannt ist, kann eine Schleife vorzeitig beendet werden. Diese zusätzliche Möglichkeit einer Schleifensteuerung kann ein Programm unter Umständen besser lesbar machen. Eine break- Anweisung innerhalb einer Schleife wird immer gemeinsam mit einer Bedingung auftreten, da der vorzeitige Schleifenabbruch nur in einem Sonderfall erfolgen sollte. Ähnlich der break-anweisung kann die Anweisung continue dazu verwendet werden, aufgrund einer Bedingung den Rest einer Schleife zu überspringen und unmittelbar mit dem nächsten Schleifendurchlauf fortzusetzen. Im Folgenden wird das obige Beispiel dahingehend erweitert, dass eine maximale Zahl von neun Würfen gestattet ist, bevor ein Abbruch erfolgt. Dieser Abbruch erfolgt mit Hilfe der break- Anweisung. /* Initialisierung */ srand((double)microtime()* ); $summe = 0; $zaehler = 0; $zufallszahl = 0; while ($zufallszahl!= 6){ $zaehler += 1; $zufallszahl = rand(1,6); //Würfel $summe = $summe + $zufallszahl; echo "Gewürfelt wurde $zufallszahl<br>"; if ($zaehler >= 9) break; //Sonderfall echo "Insgesamt $zaehler Würfe, Gesamtsumme $summe<br>"; Listing 6-12: PHP6-12.php Übung 6.12: Die Übung 6.11 soll wie folgt erweitert werden: Das Spiel ist beendet, wenn einer der beiden Spieler 30 Punkte erreicht hat.

27 Einführung in die Programmierung mit PHP und MySQL.doc Seite 25 von do-while-schleife Die do-while-schleife verhält sich wie eine while-schleife. Es gilt aber, dass sie mindestens einmal durchlaufen wird, da die Bedingung für die Wiederholung erst am Ende geprüft wird. Eine solche Schleife nennt man fußgesteuert. Die Syntax lautet: do { [Anweisungen] while (Bedingung); foreach-schleife Die foreach-schleife wird im Zusammenhang mit assoziativen Feldern 6 verwendet. Sie ermöglicht die Bearbeitung aller Elemente eines solches Feldes mit einer Schleife. Die Syntax lautet: foreach ([Feldausdruck]) { [Anweisungen] 6 Zur Verwendung der foreach-schleife siehe Kapitel 7.2

28 Seite 26 von 54 Einführung in die Programmierung mit PHP und MySQL.doc 7 Felder Um eine größere Anzahl zusammengehöriger Daten zu speichern, sind einzelne Variablen (jeweils mit einem eigenen Namen) ungeeignet. Zum einen müsste jede Variable über ihren eigenen Namen angesprochen werden, zum anderen müsste eine ausreichend große Zahl von Variablen vorgehalten werden, damit alle Daten abgespeichert werden könnten. Feldvariablen (Arrays) sind hier weitaus flexibler und komfortabler. PHP unterstützt zwei Arten von Feldvariablen: Numerisch indizierte Felder. Hier werden die einzelnen Variablen des Feldes über eine laufende Nummer angesprochen. Assoziative Felder (auch Hash-Tabelle genannt). Jede Variable in dem assoziativen Feld wird über eine eindeutige Bezeichnung angesprochen. Diese Form erhält ihre Bedeutung insbesondere in mehrdimensionalen Feldern beim Einlesen von Datenbankinhalten. Felder können eine oder mehrere Dimensionen haben: Ein eindimensionales Feld kann man sich einfach als eine Liste oder einen mathematischen Vektor vorstellen. Beispiele wären eine Liste von Messwerten oder eine Zufallszahlenreihe. Ein zweidimensionales Feld kann man sich wie eine (Datenbank-)Tabelle vorstellen. In der einen Dimension wären dann die Feldnamen (Attributnamen), in der anderen die Datensätze. Zweidimensionale Felder können rein numerisch indiziert, rein assoziativ oder gemischt (dies ist der häufigste Fall bei Datenbanktabellen) auftreten. Mehrdimensionale Felder können in reiner Form oder in beliebiger Mischform auftreten. Mit steigender Zahl der Dimensionen wird allerdings die Modellvorstellung sowie die Handhabung immer schwieriger. 7.1 Numerisch indizierte Felder Als Beispiel für ein numerisch indiziertes Feld sollen hier die Temperaturen einer Messstation dienen. Dabei sollen über eine Woche täglich die Temperaturen gemessen, abgespeichert und am Ende ausgegeben werden. $tp = array(17.5, 19.2, 21.8, 21.6, 17.5); $tp[5] = 20.2; $tp[] = 16.6; for ($i=0; $i<=6; $i++){ echo $tp[$i] <br> ; Listing 7-1: PHP7-1.php

29 Einführung in die Programmierung mit PHP und MySQL.doc Seite 27 von 54 Das Programm zeigt drei Techniken zur Erzeugung bzw. Vergrößerung von Feldern: Mit Hilfe der Funktion array() wird die Variable $tp zu einem Feld mit hier fünf Elementen. Diese Elemente werden automatisch durchnummeriert. Das erste Element in numerischen Feldern ist immer das Element 0. Felder können auch durch direkte Zuweisung einzelner Elemente erzeugt oder vergrößert werden. Die Zuweisung $tp[5] = 20.2; erzeugt hier eine neues (sechstes) Element und weist diesem den Wert 20.2 zu. Eine Zuweisung an ein schon vorhandenes Element überschreibt den alten Wert. Ein leerer Schlüssel zwischen den eckigen Klammern erzeugt das nächste Element. Der Vorteil dieser Schreibweise ist, dass man die bisherige Anzahl der Elemente nicht wissen muss und nicht aus Versehen ein vorhandenes Element überschreibt. Ein einzelnes Feld wird angesprochen, indem man nach dem Namen des Feldes die laufende Nummer (Index) des Elementes in eckigen Klammern angibt. Dies geschieht im Beispiel durch eine for-schleife. Übung 7.1: Es sollen die Vornamen und das Alter von sechs Personen gespeichert werden. Das erste Feld soll dabei die Namen, das zweite das Alter enthalten. Die Elemente der beiden Felder sollen paarweise untereinander als Tabelle ausgegeben werden. 7.2 Assoziative Felder Die Temperaturwerte sollen nun einem assoziativen Feld zugeordnet werden. Dabei sollen die Werte jeweils einem Wochentag zugeordnet sein. $tp = array ("Montag"=>17.5, "Dienstag"=>19.2, "Mittwoch"=>21.8); $tp["donnerstag"] = 21.6; $tp["freitag"] = 17.5; $tp["samstag"] = 20.2; $tp["sonntag"] = 16.6; // Ein bestimmtes Element ausgeben echo $tp["montag"]. "<br>"; // Alle Elemente in eine Tabelle ausgeben // Tabellenkopf echo "<table>"; echo "<tr><td><b>wochentag</b></td>"; echo "<td><b>temperatur</b></td></tr>"; // Namen und Werte ausgeben foreach ($tp as $name=>$wert){ echo "<tr><td>$name</td><td align='right'>$wert</td></tr>"; echo "</table>";

30 Seite 28 von 54 Einführung in die Programmierung mit PHP und MySQL.doc //Nun die Durchschnittstemperatur $summe = 0; foreach ($tp as $wert){ $summe = $summe + $wert; $durchschnitt = $summe / 7; echo "<br>durchschnitttemperatur: $durchschnitt"; Listing 7-2: PHP7-2.php Die Verwendung assoziativer Felder kann zunächst etwas unübersichtlich wirken. Die direkte Bezeichnung der Elemente kann aber durchaus Vorteile bieten. In diesem Beispiel sind zwei Techniken zur Felderzeugung dargestellt: Die Funktion array() erzeugt ein Feld mit drei Elementen Jedes Element hat eine eindeutige Schlüsselbezeichnung (Key) und einen zugehörigen Wert (Value). Der Key muss dabei zwischen doppelten Hochkommata geschrieben werden. Felder können auch durch Zuweisung einzelner Elemente erzeugt oder vergrößert werden. Dabei muss der Key innerhalb der eckigen Klammern ebenfalls in doppelten Hochkommata stehen. Da der Key immer in doppelten Hochkommata stehen muss, ist die Ausgabe des einzelnen Elements mit folgendem Zeilenumbruch nur durch eine Stringzusammensetzung möglich. Alle folgenden Vorgehensweisen führen zu einem Fehler oder einer falschen Ausgabe: o echo "$tp["montag"]<br>"; beendet die Zeichenkette zu früh. o echo "$tp['montag']<br>"; erkennt den Index nicht. o echo '$tp["montag"]<br>'; liefert nur den Namen des Feldelements, nicht seinen Wert. In der ersten foreach-schleife wird bei jedem Schleifendurchlauf ein Key-Value-Paar bereitgestellt. Die Bedeutung des Zeichens "=>" ist dabei dieselbe wie bei der Zuweisung. Es werden somit sowohl der Name als auch der Wert des aktuellen Elements bereitgestellt. Ohne das Zuordnungszeichen wird in der zweiten foreach-schleife nur der Wert des Elements bereitgestellt. Dieser Wert wird hier zur Berechnung genutzt. Übung 7.2: Die Aufgabe der Übung 7.1 soll mit assoziativen Feldern gelöst werden. Dabei sollen die Vornamen die Keys, das Alter die Werte darstellen. Übung 7.3: Erweitern Sie Übung 7.2, indem Sie ein zweidimensionales Feld erzeugen. Dazu soll zunächst ein eindimensionales assoziatives Feld $personen mit den Keys "Vorname" und "Alter" erzeugt werden. Dieses Feld weisen Sie dann jeweils einem neuen Feld $freunde als numerisch indiziertes Feldelement zu, nachdem Sie mehrmals neue Werte eingegeben haben. Die Vorgehensweise dabei ist: $freunde[] = $personen; Experimentieren Sie mit der Ausgabe des Gesamtfeldes in geschachtelten foreach-schleifen.

31 Einführung in die Programmierung mit PHP und MySQL.doc Seite 29 von 54 8 Datenbankverbindung PHP bietet komfortable Schnittstellen zu einer Reihe von Datenbanken. An dieser Stelle soll ausschließlich die Schnittstelle zu MySQL angesprochen werden. Dabei wird davon ausgegangen, dass die Erzeugung der Datenbank und der Strukturentwurf vorher mit einem der Hilfstools der Datenbank durchgeführt wurden. 8.1 Der erste Kontakt Das folgende Programm zeigt alle Datensätze der Tabelle personen aus der Datenbank phpuebungen an. (Hinweis: Die hier verwendete Datenbank kann von den Seiten der Jobelmann-Schule heruntergeladen werden. Aufruf: Reiter: Sonstiges - Dokumente. Dort dem folgenden Pfad folgen: Informationen zu einzelnen Schulfächern Informationstechnik/-verarbeitung / Informatik Programmierung HTML / PHP) /* Verbindung zu MySQL aufnehmen */ mysql_connect ("", "phptest", "phptest"); /* Datenbank auswählen */ mysql_select_db("phpuebungen"); /* SQL-Abfrage ausführen */ $res = mysql_query ("select * from personen"); /* Anzahl der Datensätze ermitteln */ $num = mysql_num_rows ($res); echo "$num Datensätze gefunden<br>"; /* Datensätze auslesen */ while ($dsatz = mysql_fetch_array ($res)){ echo $dsatz["name"]. ", "; echo $dsatz["vorname"]. ", "; echo $dsatz["personalnummer"]. ", "; echo $dsatz["gehalt"]. ", "; echo $dsatz["geburtstag"]. "<br>"; /* Datenbank schließen */ mysql_close(); Listing 8-1: PHP8-1.php

32 Seite 30 von 54 Einführung in die Programmierung mit PHP und MySQL.doc Erläuterung des Programms: Die Funktion mysql_connect() öffnet eine Verbindung zum Datenbankserver. Es können drei Parameter angegeben werden: Hostname, Benutzername, Kennwort. Hier ist die Standardeinstellung von XAMPP für den Host gewählt, also localhost und der Benutzer "phptest" mit dem Kennwort "phptest".. Mit der Funktion mysql_select_db() wird die Datenbank ausgewählt, mit der gearbeitet wird. Dies ist wichtig, da MySQL mehrere Datenbanken gleichzeitig enthalten kann. Die Funktion mysql_query() führt eine SELECT-Anfrage in der aktuellen Datenbank aus und liefert das Ergebnis in einem assoziativen Feld zurück. Der Parameter der Funktion enthält dabei die SQL-Abfrage in doppelten Hochkommata, allerdings ohne schließendes Semikolon. Das zweidimensionale Feld enthält die Attributwerte als Spalten (mysql_num_fields) und die Datensätze als Zeilen (mysql_num_rows). Wenn der letztgenannte Wert 0 ergibt, hat die Abfrage kein Ergebnis zurückgeliefert, die Ergebniskennung ist aber wahr. Nur wenn die SQL-Abfrage syntaktisch falsch oder die Kommunikation mit dem MySQL-Server gestört war, liefert die Funktion als Ergebnis falsch zurück. Das Ergebnis der Abfrage wird in einer Variablen ($res) als so genannte Ergebniskennung abgelegt. Mit ihrer Hilfe lassen sich die einzelnen Komponenten des Ergebnisses ermitteln. Bei mehreren Abfragen sollte für jedes Ergebnis eine eigene Variable zur Speicherung der Ergebniskennung verwendet werden. Die Funktion mysql_num_rows() liefert die Anzahl der Datensätze der als Parameter übergebenen Ergebnismenge zurück. Die Funktion mysql_fetch_array() liefert einen Datensatz der Ergebniskennung in einem assoziativen Feld zurück. Dabei stellt der Datenbank-Feldname (bzw. der angegebene Aliasname) den Schlüssel des Feldes dar. Nach dem Aufruf der Funktion wird der Datensatzzeiger automatisch auf den nächsten Datensatz der Ergebnismenge weitergesetzt. Wenn der Datensatzzeiger am Ende der Ergebnismenge steht, ergibt der nächste Aufruf von mysql_fetch_array() den Wert falsch. Dadurch wird die while-schleife beendet. Das Ergebnis der Abfrage lässt sich durch weitere Funktionen ermitteln, die hier kurz mit ihren Unterschieden dargestellt werden sollen: o $dfeld = mysql_result ($res, $row, $col); liefert den direkten Zugriff auf jedes Element, wobei die Zeilen- und Spaltennummer als zusätzliche Parameter (beginnend mit 0!) übergeben werden müssen. Statt der Spaltennummer kann auch der Spaltenname angegeben werden. Diese Form stellt eine recht langsame Art des Zugriffs dar. o $dsatz = mysql_fetch_row ($res); liefert den Datensatz als numerisches Feld zurück. Der Zugriff erfolgt über $dsatz[$n]. o $dsatz = mysql_fetch_array ($res); liefert den Datensatz als assoziatives Feld zurück. Der Zugriff kann über die Spaltennummer oder den Spaltennamen erfolgen. Der Spaltenname muss dabei in korrekter Groß- und Kleinschreibung angegeben werden. o $dsatz = mysql_fetch_assoc ($res); liefert ebenfalls ein assoziatives Feld, allerdings ist hier ein Zugriff über die Spaltennummer nicht zulässig. o $dsatz = mysql_fetch_object ($res); liefert den Datensatz als Objekt zurück. Nach Ablauf des PHP-Programms wird die Verbindung zur Datenbank automatisch geschlossen. Dennoch ist es guter Programmierstil, dies explizit mit mysql_close() zu tun.

33 Einführung in die Programmierung mit PHP und MySQL.doc Seite 31 von 54 Übung 8.1: Erstellen Sie in MySQL eine Datenbank und lassen Sie sich die Werte aller Tabellen durch ein PHP-Programm anzeigen. 8.2 Datensätze auswählen PHP bietet alle Möglichkeiten zur Auswahl und Manipulation von Datensätzen durch SQL- Anweisungen. Dabei sind alle Varianten der Auswahl mit WHERE, Vergleichsoperatoren, logischen Operatoren, LIKE-Operator, ORDER BY, GROUP BY usw. möglich. Zu beachten ist dabei allerdings eine eventuelle Schachtelung von PHP-Stringausdrücken und eingelagerten SQL- Strings. Hierbei sind die PHP-Ausdrücke in Anführungszeichen ("), die SQL-Werte in Hochkommata (') einzuschließen. Das folgende Beispiel wählt die Namen und das Gehalt aller Personen der Übungsdatenbank aus, die 1990 oder später geboren sind und sortiert diese absteigend nach Gehalt: mysql_connect ("", "phptest", "phptest"); mysql_select_db("phpuebungen"); $abfrage = "SELECT name, vorname, gehalt FROM personen"; $abfrage.= " WHERE YEAR (geburtstag) >= '1990'"; $abfrage.= " ORDER BY gehalt DESC"; $res = mysql_query ($abfrage); while ($dsatz = mysql_fetch_array ($res)){ echo $dsatz["name"]. ", ". $dsatz["vorname"]. ", ". $dsatz["gehalt"]. "<br>"; Listing 8-2: PHP8-2.php Die SQL-Anweisung wurde aus Gründen der Übersichtlichkeit in mehreren Schritten zusammengesetzt und in einer PHP-Variablen ($abfrage) gespeichert. Besonders zu beachten (und fehlerträchtig) sind die Leerzeichen zwischen den Anweisungen (hier vor WHERE und ORDER BY), da fehlende Leerzeichen von SQL mit einer Fehlermeldung quittiert werden. Die Jahresangabe zum Abgleich des Geburtstages steht in einfachen Hochkommata ('1990'). SQL-Anweisungen können durch ihre Länge, eingebaute PHP-Variable oder Feldnamen schnell unübersichtlich und damit zur größten Fehlerquelle werden. Zur Prüfung einer fehlerfreien Anweisung kann man sich die Zeichenkette zunächst ausgeben lassen (echo $abfrage;). Übung 8.2: Zeigen Sie aus der obigen Tabelle alle Daten der Personen an, deren Nachnamen mit "M" beginnt. Übung 8.3: Zeigen Sie aus der obigen Tabelle den Vornamen, Nachnamen und Geburtstag aufsteigend nach dem Alter von allen Personen an, die mehr als 3.000,00 verdienen.

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

IT-Zertifikat: Allgemeine Informationstechnologien II PHP IT-Zertifikat: Allgemeine Informationstechnologien II PHP PHP ( PHP: Hypertext Preprocessor ) ist eine serverseitige Skriptsprache: Der PHP-Code wird nicht wie bei JavaScript auf dem Clientrechner ausgeführt,

Mehr

5. Übung: PHP-Grundlagen

5. Übung: PHP-Grundlagen 5.1. Erstes PHP-Programm 1. Schreiben Sie PHP-Programm innerhalb einer Webseite, d.h. innerhalb eines HTML-Dokument. Ihr PHP-Programm soll einen kurzen Text ausgeben und Komentare enthalten. Speichern

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Einführung in die Scriptsprache PHP

Einführung in die Scriptsprache PHP Herbst 2014 Einführung in die Scriptsprache PHP Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW - Rainer Telesko / Martin Hüsler 1 Inhalt:

Mehr

Prinzipien der Softwareentwicklung S. Strahringer

Prinzipien der Softwareentwicklung S. Strahringer Gliederung 1 Einführung Was ist ein Programm? Vorteile (und Nachteile) von PHP Erste PHP-Programme Ausführung von PHP-Programmen 2 Grundbegriffe der Programmierung Anweisungen, Variablen, Datentypen und

Mehr

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54 PHP 5.4 Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012 Grundlagen zur Erstellung dynamischer Webseiten ISBN 978-3-86249-327-2 GPHP54 5 PHP 5.4 - Grundlagen zur Erstellung dynamischer Webseiten

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Dateneingabe über ein HTML-Formular in eine Datenbank:

Dateneingabe über ein HTML-Formular in eine Datenbank: Dateneingabe über ein HTML-Formular in eine Datenbank: Über ein Eingabeformular mit fünf Eingabefelder sollen Personaldaten in eine Datenbank gespeichert werden: Schritt 1: Erstellen des Eingabeformulars

Mehr

Diana Lange. Generative Gestaltung Operatoren

Diana Lange. Generative Gestaltung Operatoren Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach - Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

SQL - Übungen Bearbeitung der Datenbank Personal (1)

SQL - Übungen Bearbeitung der Datenbank Personal (1) Bearbeitung der Datenbank Personal (1) 1. Abfragen einer einzigen Tabelle 1.1. Zeigen Sie alle Informationen an, die über die Kinder der Mitarbeiter gespeichert sind. 1.2. Zeigen Sie aus der Tabelle stelle

Mehr

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 5: Einführung in PHP Stand: 09.11.2014. Übung WS 2014/2015. Benedikt Schumm M.Sc.

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 5: Einführung in PHP Stand: 09.11.2014. Übung WS 2014/2015. Benedikt Schumm M.Sc. Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 5: Stand: 09.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische Universität Eichstätt-Ingolstadt

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

Datenbanken 1. Einführung und Zugänge für die eingesetzten Resourcen. ISWeb - Information Systems & Semantic Web University of Koblenz Landau, Germany

Datenbanken 1. Einführung und Zugänge für die eingesetzten Resourcen. ISWeb - Information Systems & Semantic Web University of Koblenz Landau, Germany University of Koblenz Landau, Germany Einführung und Zugänge für die eingesetzten Resourcen of 20 Überblick Eingesetzte Resourcen und ihre Zugänge WebCT FTP-Server PHP PostgreSQL

Mehr

Wir arbeiten mit Zufallszahlen

Wir arbeiten mit Zufallszahlen Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten

Mehr

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de Inhaltsverzeichnis Inhaltsverzeichnis... 1 Grundlagen... 2 Hyperlinks innerhalb einer Datei... 2 Verweisziel definieren... 2 Einen Querverweis setzen... 3 Verschiedene Arten von Hyperlinks... 3 Einfache

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

25 kann ohne Rest durch 5 geteilt werden! ist wahr

25 kann ohne Rest durch 5 geteilt werden! ist wahr Lehrbrief 2: Lektion 8 - C -Praxis 4-1 - 5.2 Einfache Entscheidungen mit if und die Vergleichsoperatoren Nun tauchen wir immer tiefer in die Geheimnisse von C ein und beschäftigen uns mit einem sehr wichtigen

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015 Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 6: Datenbankabfragen mit SQL und PHP Stand: 24.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9c: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans

Mehr

Textgestaltung mit dem Editor TinyMCE Schritt für Schritt

Textgestaltung mit dem Editor TinyMCE Schritt für Schritt Textgestaltung mit dem Editor TinyMCE Schritt für Schritt Folgender Artikel soll veröffentlicht und mit dem Editor TinyMCE gestaltet werden: Eine große Überschrift Ein Foto Hier kommt viel Text. Hier kommt

Mehr

Dokumentation: Formmail Datarius 1.5

Dokumentation: Formmail Datarius 1.5 Dokumentation: Formmail Datarius 1.5 Datei-Liste Mit dem Formmail Datarius werden folgende Dateien geliefert: Lizenz.txt Nutzungsberechtigung und Haftungsausschluss.. test.php 1. Prüfen Sie, ob Php auf

Mehr

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife Praktikum Ingenieurinformatik Termin 2 Verzweigungen (if-else), printf und scanf, while-schleife 1 1. Import/Export von Eclipse-Projekten 2. Verzweigungen (if-else-anweisung) 3. printf und scanf 4. Übungsaufgaben

Mehr

Erstellen eigener HTML Seiten auf ewon

Erstellen eigener HTML Seiten auf ewon ewon - Technical Note Nr. 010 Version 1.2 Erstellen eigener HTML Seiten auf ewon 30.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten 3. Funktionsaufbau und Konfiguration 3.1. Unterpunkt 1 3.2. Unterpunkt

Mehr

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich Mitgliederbereich (Version 1.0) Bitte loggen Sie sich in den Mitgliederbereich mit den Ihnen bekannten Zugangsdaten

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Download des ecaros2-installer...3 2 Aufruf des ecaros2-installer...3 2.1 Konsolen-Fenster (Windows)...3 2.2 Konsolen-Fenster

Mehr

WEBSEITEN ENTWICKELN MIT ASP.NET

WEBSEITEN ENTWICKELN MIT ASP.NET jamal BAYDAOUI WEBSEITEN ENTWICKELN MIT ASP.NET EINE EINFÜHRUNG MIT UMFANGREICHEM BEISPIELPROJEKT ALLE CODES IN VISUAL BASIC UND C# 3.2 Installation 11 Bild 3.2 Der Webplattform-Installer Bild 3.3 IDE-Startbildschirm

Mehr

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Bereich METIS (Texte im Internet) Zählmarkenrecherche Bereich METIS (Texte im Internet) Zählmarkenrecherche Über die Zählmarkenrecherche kann man nach der Eingabe des Privaten Identifikationscodes einer bestimmten Zählmarke, 1. Informationen zu dieser Zählmarke

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Antolin-Titel jetzt automatisch in WinBIAP kennzeichnen

Antolin-Titel jetzt automatisch in WinBIAP kennzeichnen & Antolin-Titel jetzt automatisch in WinBIAP kennzeichnen Immer mehr Schulen setzen das erfolgreiche Leseförderungsprojekt "Antolin" ein - und die Bibliotheken verzeichnen große Nachfrage nach den Kinderbüchern,

Mehr

Fallbeispiel: Eintragen einer Behandlung

Fallbeispiel: Eintragen einer Behandlung Fallbeispiel: Eintragen einer Behandlung Im ersten Beispiel gelernt, wie man einen Patienten aus der Datenbank aussucht oder falls er noch nicht in der Datenbank ist neu anlegt. Im dritten Beispiel haben

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

Hilfedatei der Oden$-Börse Stand Juni 2014

Hilfedatei der Oden$-Börse Stand Juni 2014 Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten

Mehr

Outlook und Outlook Express

Outlook und Outlook Express 1 von 8 24.02.2010 12:16 Outlook und Outlook Express Bevor Sie anfangen: Vergewissern Sie sich, dass Sie eine kompatible Version von Outlook haben. Outlook 97 wird nicht funktionieren, wohl aber Outlook

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Handbuch für Gründer. Daniela Richter, Marco Habschick. Stand: 21.02.2013. Verbundpartner:

Handbuch für Gründer. Daniela Richter, Marco Habschick. Stand: 21.02.2013. Verbundpartner: Daniela Richter, Marco Habschick Stand: 21.02.2013 Verbundpartner: Inhaltsverzeichnis 1. Allgemeines...3 2. Zugang zur Gründungswerkstatt...4 3. Login...5 4. Meine Werkstatt...6 5. Businessplan...7 5.1.

Mehr

Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer. Erste Anmeldung. Schritt 1: Anmeldung..2. Schritt 2: Passwort setzen 3

Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer. Erste Anmeldung. Schritt 1: Anmeldung..2. Schritt 2: Passwort setzen 3 Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer Inhalt Erste Anmeldung. Schritt 1: Anmeldung..2 Schritt 2: Passwort setzen 3 Schritt 3: Nachträgliches Ändern des Passworts..4 Schreiben

Mehr

Fallunterscheidung: if-statement

Fallunterscheidung: if-statement Fallunterscheidung: if-statement A E 1 E 2 V 1 V 2 Syntax: if ( ausdruck ) Semantik: else anweisungsfolge_1 anweisungsfolge_2 1. Der ausdruck wird bewertet 2. Ergibt die Bewertung einen Wert ungleich 0

Mehr

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen

Mehr

104 WebUntis -Dokumentation

104 WebUntis -Dokumentation 104 WebUntis -Dokumentation 4.1.9.2 Das elektronische Klassenbuch im Betrieb Lehrer Aufruf Melden Sie sich mit Ihrem Benutzernamen und Ihrem Passwort am System an. Unter den aktuellen Tagesmeldungen erscheint

Mehr

Projekt Online-Shop:

Projekt Online-Shop: Mit einem Buchverwaltungsprogramm kann können über das Internet neue Datensätze in eine Online-Datenbank einund ausgegeben, sowie gelöscht und verändert werden. Die Internet-Site besteht aus den nebenstehenden

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Rundung und Casting von Zahlen

Rundung und Casting von Zahlen W E R K S T A T T Rundung und Casting von Zahlen Intrexx 7.0 1. Einleitung In diesem Werkstattbeitrag erfahren Sie, wie Zahlenwerte speziell in Velocity, aber auch in Groovy, gerundet werden können. Für

Mehr

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Lieferschein Lieferscheine Seite 1 Lieferscheine Seite 2 Inhaltsverzeichnis 1. STARTEN DER LIEFERSCHEINE 4 2. ARBEITEN MIT DEN LIEFERSCHEINEN 4 2.1 ERFASSEN EINES NEUEN LIEFERSCHEINS 5 2.1.1 TEXTFELD FÜR

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Handbuch für Redakteure

Handbuch für Redakteure Handbuch für Redakteure Erste Schritte... 1 Artikel erstellen... 2 Artikelinhalt bearbeiten... 3 Artikel bearbeiten... 3 Grunddaten ändern... 5 Weitere Artikeleigenschaften... 5 Der WYSIWYG-Editor... 6

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Fachhochschule Fulda. Bedienungsanleitung für QISPOS (Prüfungsanmeldung, Notenspiegel und Bescheinigungen)

Fachhochschule Fulda. Bedienungsanleitung für QISPOS (Prüfungsanmeldung, Notenspiegel und Bescheinigungen) Fachhochschule Fulda Bedienungsanleitung für QISPOS (Prüfungsanmeldung, Notenspiegel und Bescheinigungen) Inhaltsverzeichnis 1. Vorgehensweise bei der ersten Anmeldung... 1 2. Startseite... 1 3. Login...

Mehr

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü. Programm Die Bedienung des Programms geht über das Hauptmenü. Datenbank Schnittstelle Die Datenbank wir über die Datenbank- Schnittstelle von Office angesprochen. Von Office 2000-2003 gab es die Datenbank

Mehr

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller Flashfragen in ILIAS Test & Assessment Helmut Schottmüller Flashfragen in ILIAS Test & Assessment Helmut Schottmüller Veröffentlicht Januar 2009 Copyright 2009 Helmut Schottmüller Inhaltsverzeichnis 1.

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

In dem unterem Feld können Sie Ihre E-Mail eintragen, wenn sie im System hinterlegt wurde. Dann wird Ihnen Ihr Passwort noch einmal zugeschickt.

In dem unterem Feld können Sie Ihre E-Mail eintragen, wenn sie im System hinterlegt wurde. Dann wird Ihnen Ihr Passwort noch einmal zugeschickt. Wyhdata Hilfe Login: www.n-21online.de (Login Formular) Ihr Login-Name: Hier tragen Sie Redak1 bis Redak6 ein, der Chefredakteur bekommt ein eigenes Login. Ihr Passwort: Eine Zahlenkombination, die vom

Mehr

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort 1.3 PHP Vorzüge Erlernbarkeit Im Vergleich zu anderen Sprachen ist PHP relativ leicht erlernbar. Dies liegt hauptsächlich daran, dass PHP im Gegensatz zu anderen Sprachen ausschließlich für die Webserver-Programmierung

Mehr

Datenbank LAP - Chefexperten Detailhandel

Datenbank LAP - Chefexperten Detailhandel AJR Informatique Conseil Datenbank LAP - Chefexperten Detailhandel Kurzanleitung Version 01-17 Februar 2009 1 Zugang zur Datenbank Zugang zur Datenbank erhalten Sie unter www.dblap.ch. Zum Training können

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken Mit Anleitung zur Erstellung einer FTP Verbindung unter Windows 7 Matthias Lange

Mehr

ecaros2 - Accountmanager

ecaros2 - Accountmanager ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf

Mehr

VisualBasic - Variablen

VisualBasic - Variablen Typisch für alle Basic-Dialekte ist die Eigenschaft, dass Variablen eigentlich nicht deklariert werden müssen. Sobald Sie einen Bezeichner schreiben, der bisher nicht bekannt war, wird er automatisch angelegt

Mehr

Merkblatt zur Umsatzsteuererhöhung um 3 % auf 19 % mit Wirkung zum 01.01.2007. Umstellung des Systems durch den Systemadministrator

Merkblatt zur Umsatzsteuererhöhung um 3 % auf 19 % mit Wirkung zum 01.01.2007. Umstellung des Systems durch den Systemadministrator Merkblatt zur Umsatzsteuererhöhung um 3 % auf 19 % mit Wirkung zum 01.01.2007 Umstellung des Systems durch den Systemadministrator 1. Anlage einer neuen Steuerart Neuer Datensatz Umsatzsteuer UmsatzstCode

Mehr

Barcodedatei importieren

Barcodedatei importieren Barcodedatei importieren Inhaltsverzeichnis 1 Schnittstelle Barcodedatei importieren... 2 1.1 Funktion... 2 1.2 Konfiguration... 2 1.2.1 Lizenz... 2 1.2.2 Einstellungen... 2 1.2.3 Vorarbeiten... 3 1.2.3.1

Mehr

Arrays. PHP JavaScript Kapitel 9

Arrays. PHP JavaScript Kapitel 9 Arrays 1 Problem: Volatilitätenbeispiels in der Programmiersprache JavaScript. Der Benutzer unseres Programms soll die Aktienkurse für beliebig viele Tage eingeben können. Dabei soll er zunächst sagen,

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG it4sport GmbH HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG Stand 10.07.2014 Version 2.0 1. INHALTSVERZEICHNIS 2. Abbildungsverzeichnis... 3 3. Dokumentenumfang... 4 4. Dokumente anzeigen... 5 4.1 Dokumente

Mehr

Adminer: Installationsanleitung

Adminer: Installationsanleitung Adminer: Installationsanleitung phpmyadmin ist bei uns mit dem Kundenmenüpasswort geschützt. Wer einer dritten Person Zugriff auf die Datenbankverwaltung, aber nicht auf das Kundenmenü geben möchte, kann

Mehr

Um in das Administrationsmenü zu gelangen ruft Ihr Eure Seite auf mit dem Zusatz?mod=admin :

Um in das Administrationsmenü zu gelangen ruft Ihr Eure Seite auf mit dem Zusatz?mod=admin : WebsoziCMS 2.8.9 Kurzanleitung Stand: 10.04.2008 Andreas Kesting Diese Kurzanleitung zum WebsoziCMS 2.8.9 beschränkt beschränkt sich auf die häufigsten Tätigkeiten beim Administrieren Eurer Homepage: -

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1 CMS.R. Bedienungsanleitung Modul Cron Revision 1 Copyright 10.09.2009 www.sruttloff.de CMS.R. - 1 - WOZU CRON...3 VERWENDUNG...3 EINSTELLUNGEN...5 TASK ERSTELLEN / BEARBEITEN...6 RECHTE...7 EREIGNISSE...7

Mehr

Registrierung für eine Senioren IPIN www.itftennis.com/ipin. Ab 17. Mai 2011 können sich Spieler für eine Senioren IPIN (Lizenz) registrieren.

Registrierung für eine Senioren IPIN www.itftennis.com/ipin. Ab 17. Mai 2011 können sich Spieler für eine Senioren IPIN (Lizenz) registrieren. Registrierung für eine Senioren IPIN www.itftennis.com/ipin Ab 17. Mai 2011 können sich Spieler für eine Senioren IPIN (Lizenz) registrieren. Um ab 2012 an den Turnieren des ITF Seniors Circuits teilnehmen

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr