PHP - Erstellen dynamischer WebSites

Größe: px
Ab Seite anzeigen:

Download "PHP - Erstellen dynamischer WebSites"

Transkript

1 PHP - Erstellen dynamischer WebSites Teil 1 Strukturierte Programmierung PHP hat sich in wenigen Jahren zu einer umfassenden Programmiersprache entwickelt. Der Name steht für PHP:Hypertext Preprocessor, wird aber auch von Personal HomePage Tools abgeleitet. PHP ist im Vergleich zu anderen Script-Sprachen relativ jung (Tcl 1987, Perl 1987, Python 1989, PHP 1994, JavaScript 1995, VBScript 1998,...). Während andere Skriptsprachen für verschiedene Aufgaben entwickelt worden sind und dementsprechend vielseitig eingesetzt werden können, dient PHP in erster Linie dazu, Webseiten dynamisch zu gestalten, und zwar: Reagieren auf Benutzereingaben, Speichern von Daten, Auswerten von Formularen, Verbinden zu Datenbanken, Schnittstellen zu XML u.a. Seite 1

2 A B C Inhalt Grundlagen...3 A.1 Statische Webseiten...3 A.2 Dynamische Webseiten...4 A.3 JavaScript...4 A.4 PHP...4 Entwicklungsumgebung...6 Strukturierte Programmierung mit PHP...7 C.1 Einbettung von PHP in HTML...7 C.2 Variablen und Datentypen...8 C.2.1 Variablennamen...8 C.2.2 Variablen und Operatoren für Zahlen...9 C.2.3 Variablen und Operatoren für Zeichenketten...9 C.2.4 Typumwandlung...11 C.3 Verzweigungen...12 C.3.1 Verzweigung mit if...12 C.3.2 Verzweigung mit if und else...13 C.3.3 Logische Operatoren...14 C.3.4 Verzweigungen schachteln...14 C.3.5 Weitere Auswahl-Möglichkeiten...15 C.4 Schleifen...16 C.4.1 for-schleife...16 C.4.2 Verschachtelte for-schleifen...18 C.4.3 while-schleife...18 C.4.4 Schleifenabbruch mit break...19 C.4.5 Weitere Schleifen-Anweisungen...20 C.5 Funktionen...20 C.5.1 Funktions-Typen...21 C.5.2 Funktionen mit einem Parameter...22 C.5.3 Funktionen mit mehreren Parametern...23 C.5.4 Rückgabewert...24 C.5.5 Verhalten bei Parameter-Übergabe...25 C.5.6 Globale und lokale Variablen...27 Seite 2

3 A Grundlagen Um Web-Dokumente zum Informationsaustausch einsetzen zu können ist (zumindest) ein WebServer und (zumindest) ein WebClient notwendig: Die Dokumente werden am WebServer gespeichert und von diesem ausgeliefert, sobald der WebClient einen http-aufruf an den WebServer sendet. Zur einwandfreien Adressierung wird der so genante URL (Uniform Resource Locator) verwendet, der in der Adresszeile des Browsers eingetragen wird. Die Dokumente werden vom WebServer aus Verzeichnissen geholt, die relativ zu einem Hauptverzeichnis jedes angelegten Benutzers des WebServers angegeben werden. Web-Dokumente können nun als fertige HTML-Dokumente im Verzeichnis eines Benutzers vorliegen ( statische Webdokumente), oder sie entstehen erst beim Aufruf ( dynamische Webdokumente). Statische Webdokumente werden einmal mit einem geeigneten Programm erstellt und auf dem WebServer gespeichert ( Upload ). Sie werden jeweils dem Inhalt nach unverändert ausgeliefert. Da für jede Aktualisierung das ganze Dokument nachbearbeitet werden muss, eignen sich statische Webdokumente nur für Informationen und Publikationen, die sich mit der Zeit nicht bzw. kaum ändern. A.1 Statische Webseiten Eine einfache statische Webseite könnte den folgenden Code haben (a01_statischewebseite.htm): <head> <title>statische Webseite</title> </head> Das ist der Text der statischen Webseite Bemerkung: Statische HTML-Dokumente eignen sich hervorragend für den Einstieg ins Programmieren. Dabei sollten allerdings einige Grundlagen beachtet werden: Alle HTML-Tags sollten korrekt geschachtelt und jedenfalls ein Endetag aufweisen. So genannte leere Elemente enthalten das Endezeichen selbst (z.b. <hr />). Der baumartigen Struktur der HTML-Auszeichnungssprache folgend sollten korrekte Einrückungen verwendet werden. Manche HTML-Editoren sehen eine solche Einrückung automatisch vor. Inhalt der HTML-Seiten (Information), Darstellung (Formatierung) und Script-Code (JavaScript, PHP,...) sollten weitgehend getrennt werden. Dies bedingt beispielsweise die Verwendung von Stylesheet-Dateien (.css), von externen Scriptdateien (.js) und Include- Dateien für PHP-Code. Unter Umständen wäre eine Ausrichtung nach modernem XHTML zu erwägen (strikte Element-Schachtelung, alle Tags haben ein Endetag, alle Attribute weisen einen Wert auf, keine Frames...). Seite 3

4 A.2 Dynamische Webseiten Dynamische Webdokumente entstehen durch Programme (Skripts), die entweder am WebClient oder am WebServer ausgeführt werden. Auf dem WebClient werden diese dynamischen Teile üblicherweise vom Browser und entsprechenden Plugins ausgeführt (z.b. JavaScript, JScript, VBScript, ActiveX-Controls, Java-Applets...). Aus Sicherheitsgründen kann der Benutzer die Ausführung solcher Inhalte unterbinden. A.3 JavaScript JavaScript ist vor allem bei Tools, die fertige Webseiten generieren sehr beliebt, um dynamische Effekte zu erzeugen. Ein Hyperlink ändert beim Überfahren mit der Maus seine Gestalt (onmouseover()), weitere Browser-Instanzen ploppen automatisch auf, Benutzerpasswörter werden abverlangt... Allerdings gibt es auch ernsthafte Anwendungen für JavaScript, wie etwa das Überprüfen von Formulareinträgen oder die Ausgabe, wann ein Dokument das letzte Mal editiert wurde (a02_javascript.htm): <script language= JavaScript > document.write(document.lastmodified); </script> Programme und Skripts, die auf dem WebClient ausgeführt werden, müssen vom WebServer über das Netzwerk auf den Clientrechner übertragen werden. Dies bedingt unter Umständen lange Ladezeiten für eine Seite. Außerdem können Skriptzeilen auf dem WebClient eingesehen und kopiert werden - dies ist für viele Anwendungen nicht akzeptabel. Aus diesem Grund wurden frühzeitig WebServer entwickelt, die über eingebundene Module am Server selbst Programme ausführen können, auf Dateien und Datenbanken zugreifen und lediglich die Ergebnisse an den WebClient ausliefern (z.b. Perl, CGI-Skripts, Java-Servlets, ASP-Skripte oder eben PHP). A.4 PHP PHP-Skriptzeilen werden als so genannte Processing Instruction (Verarbeitungsanweisung) in den HTML-Code eingefügt. Der WebServer führt mit dem PHP4-Modul diese Skriptzeilen aus und fügt das Ergebnis in das ausgelieferte HTML-Dokument ein. (a03_php.php) <head> <title>meine teilweise dynamische Webseite</title> </head> <h2>ich bin der statische Text</h2> echo "Letzte Änderung: ". date("d F Y", filemtime("a03_php.php")); Beachte, dass nur das Ergebnis der Skriptzeilen an den Browser ausgeliefert wird, nicht aber die Skriptzeilen selbst; d.h. es wird nur die HTML-Übersetzung an den Browser übergeben. Dass Seite 4

5 PHP-Dateien im Spiel sind, erkennt der Benutzer allerdings daran, dass die Dateinamenerweiterung php verwendet wird. PHP-Skriptteile können Kommentare enthalten. Dabei werden Kommentare entweder in einer Zeile (bis zum Zeilenende) oder über mehrere Zeilen hinweg eingefügt (a04_kommentar.php): // ein einzeiliger Kommentar echo "PHP macht Spaß"; /* Dieser Kommentar geht über mehrere Zeilen hinweg. Vermutlich soll ein komplizierter Sachverhalt innerhalb des Skripts erläutert werden... */ echo " ;-)"; // hier geht's mit PHP weiter Bemerkung: In einer PHP-Datei können PHP- und JavaScript-Teile zugleich verwendet werden. In diesem Fall interpretiert der WebServer zunächst alle PHP-Skripte und liefert diesen Output gemeinsam mit allen HTML- und JavaScript-Zeilen an den Browser aus. Dieser interpretiert schließlich die HTML-Tags und alle JavaScript-Teile. Auf diese Weise ist es also möglich, Java- Script-Zeilen mittels PHP zu erzeugen. Seite 5

6 B Entwicklungsumgebung Um mit PHP arbeiten zu können, braucht man einen Webserver. XAMPP ist als Entwicklungsumgebung für zu Hause oder für die Schule sehr gut geeignet; es beinhaltet Apache Webserver, MySQL, PHP und Perl. XAMPP installieren (xampp-win exe) XAMPP-Control starten (Start Programme XAMPP XAMPP Control Panel) Apache und Mysql starten Bekomme Oberfläche dann am Webbrowser über (evtl. ohne /xampp) Localhost entspricht der IP-Adresse HTML-Dateien erstellen (z.b. mit Phase 5) unter C:\Programme\apachefriends\xampp\htdocs\xampp speichern (Dokumenteverzeichnis des Webservers; Pfad kann auch anders lauten - auf alle Fälle im Unterordner htdocs\xampp); Lege dort z.b. einen Ordner wapfl6 an, in dem ich alle Dateien speichere; diese sind dann im Webbrowser unter zu finden. Seite 6

7 C Strukturierte Programmierung mit PHP C.1 Einbettung von PHP in HTML Es gibt mehrere Wege, PHP-Programme in HTML-Dateien einzubetten, u.a.: in Kurzform innerhalb einer Markierung: [PHP-Anweisungen] in etwas längerer Form zwischen einer Anfangsmarkierung und einer Endmarkierung: <script language = "php"> [PHP-Anweisungen] </script> PHP-Programme können sowohl vollständig innerhalb des Dokument-Kopfes (head) als auch vollständig innerhalb des Dokument-Rumpfes (body) einer HTML-Seite untergebracht werden. Sie dürfen allerdings nicht im head beginnen und erst im body enden. Die gesamte Datei wird von oben nach unten abgearbeitet, es kann mehrmals zwischen HTML und PHP gewechselt werden. Das nachfolgende Beispiel zeigt einige der genannten Möglichkeiten: Der Programmcode mit HTML- und PHP-Elementen (c01_phpundhtml.php): <head> <title>titelzeile der Datei</title> </head> Die erste Zeile in HTML <p> echo "Die zweite Zeile in PHP<p>"; Die dritte Zeile in HTML <p> <script language="php"> echo "Die vierte Zeile in PHP<p>"; echo "Die fünfte Zeile in PHP<p>"; </script> Die sechste Zeile in HTML <p> echo "Die siebente Zeile in PHP<p>"; echo "Die achte Zeile in PHP<p>"; Nennt man die Datei c01_phpundhtml.htm, so können nur die erste, dritte und sechste Zeile ausgegeben werden. Alles andere kann nicht interpretiert werden und wird daher ignoriert. echo Die PHP-Anweisung echo gibt den angegebenen Text auf dem Bildschirm aus. Der Text muss in Anführungsstrichen geschrieben werden. Falls der Text HTML-Markierungen beinhaltet (hier <p> für einen Absatzumbruch), so gelangen diese zur Ausführung. Seite 7

8 C.2 Variablen und Datentypen Innerhalb eines Programms können Informationen zur späteren Verwendung in Variablen gespeichert werden. Diese Variablen unterscheiden sich nach ihren Datentypen. PHP verwendet 8 verschiedene Datentypen: 1. ganze Zahlen (int, integer) 2. Zahlen mit Nachkommastellen (float, double, real) 3. Zeichenketten (string) werden mit doppelten oder einfachen Anführungszeichen umgeben) 4. Boole sche Typen (bool, boolean) Ja oder Nein, 0 oder 1, 5. Ein- und mehrdimensionale Felder (array) Datenfelder 6. Objekte (object) Daten und Funktionen, Klassen 7. Ressourcen (interne integers) sind IDs für Dateien, Datenbankverbindungen, XML-Parser, etc. 8. NULL legt fest, dass eine Variable keinen Wert hat Variablen müssen im Gegensatz zu vielen Programmiersprachen nicht extra deklariert werden. Sie werden mit einem vorangestellten $-Zeichen gekennzeichnet und beim ersten Aufruf definiert. Der Datentyp einer Variable wird nicht vom Programmierer festgelegt, sondern richtet sich nach dem Zusammenhang, in dem die Variable genutzt wird. Eine Variable kann ihren Datentyp innerhalb eines Programms wechseln. Variablen gelten grundsätzlich nur in dem Bereich, in dem sie deklariert wurden; es liegen also grundsätzlich lokale Variablen vor. Globale Variablen können durch das Schlüsselwort global festgelegt werden. C.2.1 Variablennamen Für die Namen von Variablen (und später auch Funktionen) gelten einige Regeln: Sie müssen mit einem Dollar-Zeichen beginnen. Sie dürfen keine Leerzeichen enthalten. Sie dürfen nur aus Buchstaben und Ziffern bestehen; dabei sollte das erste Zeichen ein Buchstabe sein; es sind Groß- und Kleinbuchstaben erlaubt. Es wird zwischen Groß- und Kleinschreibung unterschieden ($HokusPokus ist nicht das gleiche wie $hokuspokus) Sie dürfen keine deutschen Umlaute oder ein ß enthalten. Sie dürfen als einziges Sonderzeichen den Unterstrich ( _ ) enthalten. Sie dürfen nicht mit einem reservierten Wort identisch sein, also z.b. mit einem Befehl aus der Sprache PHP. Man sollte selbsterklärende Namen vergeben. Das hat den Vorteil, dass sich jeder, der sich später mit dem Programm befasst, sofort zurechtfinden kann. Einige Beispiele: $Startmeldung, $Temperaturwert, $XKoordinate, $Ywert. Seite 8

9 C.2.2 Variablen und Operatoren für Zahlen Betrachten wir einmal das folgende Programm (c02_zahlenvariablen.php): $a = 14; $b = 8.3; $c = $a + $b; echo $c; Die Aufgabe dieses Programmes ist die Addition zweier Zahlen und die Ausgabe der Summe dieser beiden Zahlen. Dies wird wie folgt durchgeführt: Die Variable $a wird eingeführt, und es wird ihr der Wert 14 zugewiesen, wodurch $a zu einer Variablen für eine ganze Zahl wird. Die Variable $b wird eingeführt, und es wird ihr der Wert 8.3 zugewiesen, also wird $b zu einer Variablen für eine Zahl mit Nachkommastellen (die Verwendung des Dezimalpunktes ist obligatorisch). Die Variable $c wird eingeführt, $a und $b werden addiert und das Ergebnis wird $c zugewiesen, damit wurde $c ebenfalls zu einer Variablen für eine Zahl mit Nachkommastellen. Der Wert von $c, also 22.3, wird ausgegeben. Eine Zahl mit Nachkommastellen kann auch als Exponentialzahl ausgedrückt werden. Im o.a. Programm hätte man eine der folgenden Schreibweisen verwenden können, dies hätte zum gleichen Ergebnis geführt: $b = 0.83e1; (das bedeutet 0.83 mal 10 hoch 1, also 0.83 mal 10) $b = 83e-1; (das bedeutet 83 mal 10 hoch 1, also 83 mal 0.1) Arithmetische Operatoren +...Addition zweier Zahlen -...Subtraktion zweier Zahlen *...Multiplikation zweier Zahlen /...Division zweier Zahlen %...Rest bei ganzzahliger Division (mod) Es gelten die in der Mathematik verwendeten Regeln C.2.3 Variablen und Operatoren für Zeichenketten Zeichenketten (Strings) müssen in doppelte (" ") oder einfache Hochkommata (' ') eingeschlossen werden. Das Zeichen. (Punkt) dient zur Verkettung mehrerer Zeichenketten miteinander bzw. mehrerer Zahlen und Zeichenketten. Dies wird z.b. für eine kommentierte Ergebnisausgabe genutzt. Seite 9

10 Beispiel: verketten (c03a_verketten.php) <head> <title>verketten</title> </head> $a = 4; $b = 3.4; echo $a. " + ". $b. " = ". ($a + $b); echo "<br> oder so: $a + $b = ".($a + $b); Der Operator.= (Punkt gleich) kann zur Verlängerung einer Zeichenkette eingesetzt werden. Falls die Zeichenketten HTML-Code enthalten, so gelangt dieser HTML-Code zur Ausführung. Beispiel: (c03b_verketten.php) $a = 5; $b = 6; $c = $a + $b; $anrede = "Herrn"; $vorname = "Hans"; $ganzername = $anrede. " ". $vorname. " "; $nachname = 'Maier'; $ganzername.= $nachname; echo "Dieses Programm ist von $ganzername<p>"; echo "Das Ergebnis der Addition ist ". $c. "<p>"; echo "Das geht auch so: $c <p>"; echo 'Aber nicht so: $c'; Zur Erläuterung: Im ersten Teil des Programmes findet eine Addition statt (mit $a, $b und $c). Den Variablen $anrede, $vorname und $nachname werden an unterschiedlichen Stellen des Programmes als Werte drei Zeichenketten in einfachen Hochkommata bzw. in doppelten Hochkommata zugewiesen. Der Variablen $ganzername wird der Wert»Herrn Hans» zugewiesen. Dieser Wert wird später um die Zeichenkette»Maier«verlängert. In den beiden ersten Ausgabezeilen werden Zeichenketten zusammen mit Zahlenvariablen bzw. Zeichenkettenvariablen und HTML-Code ausgegeben. Dabei werden die einzelnen Teile der ausgegebenen Zeile durch den Operator. (Punkt) miteinander verkettet. Seite 10

11 Der Wert einer Variablen wird auch dann ausgegeben, falls die Variable innerhalb einer Zeichenkette untergebracht wurde. Bei dieser Form ist allerdings darauf zu achten, dass die Zeichenkette in doppelte Hochkommata gesetzt wurde. Den Unterschied erkennt man an den beiden letzten Ausgabezeilen. C.2.4 Typumwandlung Der Datentyp einer Variablen wird durch die erste Wertzuweisung bestimmt. Durch eine vorangestellte Typendeklaration kann dieser Datentyp (wie in C/C++ oder Java) geändert werden (type casting). Beispiel: (c04_typumwandlung.php) <head> <title>type-casting</title> </head> <h3>type-casting bei PHP</h3> <p>die folgenden Variablen enthalten Zeichenketten und Zahlen. Für die Ausgabe werden verschiedene Datentypen verwendet...</p> $a = 12.3; $b = 5.2; echo $a. "<br>\n\t"; echo (string) $a. "<br>"; echo (int) $a. "<br>"; echo (string) ($a + $b). "<br>"; echo (string) $a + (string) $b. "<br>"; echo (string) $a. (string) $b. "<br>"; echo (int) ( (string) $a. (string) $b ); Folgende Umwandlungen können vorgenommen werden: (int), (integer), (float), (double), (real), (bool), (boolean), (string), (array), (object) Bei der Umwandlung einer Zeichenkette (Konvertierung) ist der Beginn der Zeichenkette wichtig. Falls die Zeichenkette mit gültigen numerischen Zeichen beginnt, so werden diese numerischen Zeichen genutzt. Anderenfalls wird der Wert 0. Falls man Zeichenketten-Variablen der Sicherheit halber explizit (also vom Programm- Entwickler gesteuert) in Zahlen umwandeln möchte, kann man die beiden Funktionen doubleval() bzw. intval() anwenden. Ein kleines Beispiel für zwei Umwandlungen: $a = "435"; $a = intval($a); $b = "22.6"; $b = doubleval($b); Seite 11

12 Nach Bearbeitung dieses Programmteiles stehen die Variablen $a und $b auf jeden Fall als Zahlen-Variablen mit dem ganzzahligen Wert 435 bzw. dem Wert 22,6 für weitere Berechnungen zur Verfügung. C.3 Verzweigungen Bisher wurden die Dateien mit dem HTML-Code und dem PHP-Code rein sequentiell abgearbeitet, d. h., eine Anweisung nach der anderen wurde durchgeführt. Tatsächlich sind aber Programme auch in der Lage, auf unterschiedliche Bedingungen zu reagieren. Einzelne Anweisungen werden nur in bestimmten Situationen ausgeführt. Die Ausführung dieser Anweisungen wird in solchen Fällen von einer oder mehreren Bedingungen abhängig gemacht. Je nachdem, ob die Bedingung zutrifft, werden die entsprechenden Anweisungen ausgeführt oder nicht. Darüber hinaus können bei Nichterfüllung der Bedingung alternative Anweisungen bearbeitet werden. Man nennt diese Stellen in Programmen Verzweigungen. Bedingungen werden mit Hilfe von Wahrheitswerten (wahr oder falsch bzw. true oder false) und Vergleichs-Operatoren erstellt. Vergleichsoperatoren für Zahlen und Zeichenketten = =...gleich!=...ungleich nur für Zahlen <...kleiner <=...kleiner oder gleich >...größer >=...größer oder gleich <>...ungleich C.3.1 Verzweigung mit if Beispiel: (c05a_if.php) $a = 7; $b = 12; If ($a < $b) echo "$a ist kleiner als $b"; Falls $a kleiner als $b ist, wird der entsprechende Text in das Dokument geschrieben, ansonsten geschieht nichts. Die Bedingung selbst ($a < $b) muss in Klammern stehen. Falls aufgrund einer Bedingung mehrere Anweisungen ausgeführt werden sollen, so müssen sie innerhalb von geschwungenen Klammern stehen. Seite 12

13 Beispiel: (c05b_if.php) $a = 7; $b = 12; if ($a < $b) echo "$a ist kleiner als $b <br>"; echo "$b ist größer als $a"; In diesem Programm werden zwei Ausgaben erzeugt, da $a kleiner als $b ist. Die HTML- Markierung <br> steht für einen einfachen Zeilenumbruch (ohne Abstand zur Vorgängerzeile wie bei <p>). C.3.2 Verzweigung mit if und else Beispiel: (c06_ifelse.php) $a = 5; $b = 12; if ($a < $b) echo "$a ist kleiner als $b<br>"; echo "$b ist größer als $a"; else echo "$a ist größer oder gleich $b<br>"; echo "$b ist kleiner oder gleich $a"; Falls die Bedingung hinter dem if nicht zutrifft, werden die Anweisungen hinter dem else ausgeführt. Übungsbeispiele: Schreibe Programme, in denen mit if-else-verzweigungen: zwei Zeichenketten auf Gleichheit (Operator ==) hin verglichen werden zwei Zeichenketten auf Ungleichheit (Operator!=) hin verglichen werden zwei gegebene Zahlen-Variablen mit Hilfe der Operatoren für»kleiner oder gleich«(<=) bzw.»größer oder gleich«(>=) miteinander verglichen werden Seite 13

14 C.3.3 Logische Operatoren Logische Operatoren $$ bzw. and...und bzw. or...oder!...nicht xor...ausschließendes ODER Beispiel: (c07_logop.php) $a = 8; $b = 12; $c = 24; /* Bedingung 1 */ if ($a < $b and $b < $c) echo "$a ist kleiner als $b, $b kleiner als $c, "; echo "also ist $a kleiner als $c<br>"; /* Bedingung 2 */ if ($b < $a or $b < $c) echo "$b ist kleiner als $a oder/und als $c<br>"; else echo "$b ist größer oder gleich $a"; echo "und größer oder gleich $c<br>"; /* Bedingung 3 */ if (!($a > $b)) echo "$a ist nicht größer als $b<br>"; Bedingung 1 trifft nur zu, wenn beide Einzelbedingungen zutreffen (Und-Verknüpfung mit &&). Bedingung 2 trifft zu, falls eine der beiden Einzelbedingungen zutrifft (Oder-Verknüpfung mit ). In Bedingung 3 wird der Wahrheitswert der Bedingung umgedreht (mit!). Falls sie wahr ist, wird sie falsch und umgekehrt. C.3.4 Verzweigungen schachteln Verzweigungen mit if und else lassen sich auch verschachteln, sodass eine mehrfache Verzweigung für mehr als zwei Fälle möglich wird. Seite 14

15 Beispiel: (c08_verschachtelt.php) $a = 17; $b = 12; if ($a < $b) echo "$a ist kleiner als $b"; else if ($a == $b) echo "$a ist gleich $b"; else echo "$a ist größer als $b"; Falls $a kleiner als $b ist, trifft die erste Bedingung zu. Die restlichen Bedingungen müssen dann nicht mehr geprüft werden. Falls nicht, kann $a nur noch größer oder gleich $b sein. Dies wird in der nächsten Bedingung ($a == $b) geprüft. Falls diese auch nicht zutrifft, kann $a nur noch größer als $b sein. Bei der Überprüfung auf Gleichheit hin ist besonders auf das doppelte Gleichheitszeichen zu achten. Es handelt sich um eine Bedingung und nicht um eine Zuweisung. C.3.5 Weitere Auswahl-Möglichkeiten Außer den genannten Anweisungen für Verzweigungen existieren in der Sprache PHP noch die nachfolgenden Möglichkeiten. Sie sind als Alternativen zu sehen und bieten in bestimmten Fällen Vorteile. elseif Die elseif-anweisung ist eine andere Schreibweise für die Anweisungen else und if. Sie kann bei mehrfachen Verzweigungen eingesetzt werden. if : endif Die Schreibweise mit Doppelpunkt und endif kann anstelle der geschwungenen Klammern eingesetzt werden. Die Syntax lautet folgendermaßen: if (Bedingung): [Anweisungen] endif; C switch case Ein switch-block kann bei mehrfachen Verzweigungen eingesetzt werden. switch (Variable) case [Fall 1]: [Anweisungen 1]; case [Fall 2]: [Anweisungen 2]; Seite 15

16 case [Fall 3]: [Anweisungen 3]; default: [Anweisungen 4]; Sobald PHP eine Übereinstimmung gefunden hat, arbeitet es alle Befehle ab, die zwischen diesem case und der geschwungenen Klammer der switch-abfrage stehen. Es kommt aber viel häufiger vor, dass man mit einer switch-abfrage nur den case-teil ausführen will, der zutrifft. Die anderen Programmteile sollen ignoriert werden. Dazu fügt man in jedem case-teil den Befehl break ein. Damit wird der switch-block vorzeitig beendet. C switch : endswitch Eine andere Schreibweise für einen switch-block mit Doppelpunkt und endswitch. switch (Variable): case [Fall 1]: [Anweisungen 1]; case [Fall 2]: [Anweisungen 2]; case [Fall 3]: [Anweisungen 3]; default: [Anweisungen 4]; endswitch; Übungsbeispiele: Schreibe Programme, in denen du jeweils eine dieser weiteren Auswahlmöglichkeiten anwendest (c09a c09d) C.4 Schleifen Falls sich innerhalb eines Programmes einzelne Anweisungen oder Blöcke von Anweisungen wiederholen, werden Schleifen verwendet. In PHP gibt es (wie in jeder anderen Programmiersprache) grundsätzlich zwei Möglichkeiten dazu. for-schleife Falls die Anzahl der Wiederholungen dem Programmierer bekannt ist oder sie sich eindeutig im Verlauf des Programmes vor der Schleife ergibt (Zähl- Schleife) while-schleife Falls die Anzahl der Wiederholungen dem Programmierer nicht bekannt ist, sondern die Schleife aufgrund einer Bedingung wiederholt bzw. abgebrochen wird (bedingungsgesteuerte Schleife) C.4.1 for-schleife Beispiel: (c10_for.php) for($i=1;$i<=5;$i++) echo "Zeile $i <p>"; Mit Hilfe des Programmes werden 5 Zeilen in das Dokument geschrieben, jeweils mit dem Inhalt: Zeile: <Nummer>. Seite 16

17 Die for -Schleife besteht aus Kopf und Rumpf. Der Kopf der for-schleife besteht aus drei Teilen, dem Startwert ($i=1), der Bedingung zur Wiederholung ($i<=5)und der Veränderung der Schleifenvariablen ($i++). In diesem Beispiel wird die Variable $i als so genannte»schleifenvariable«verwendet, d. h., mit Hilfe von $i wird die Schleife gesteuert. $i bekommt zunächst den Wert 1. Es wird geprüft, ob die Bedingung zur Wiederholung erfüllt ist. Ist dies der Fall, so wird mit dem Anfangswert der Rumpf der Schleife durchlaufen, es ergibt sich also die Ausgabe Zeile 1. Anschließend wird die Variable durch die Veränderung der Schleifenvariablen erhöht (auf 2). Es wird geprüft, ob die Bedingung zur Wiederholung noch erfüllt ist. Ist dies der Fall, wird der Rumpf der Schleife mit dem Wert $i (Ausgabe Zeile 2) durchlaufen usw. Nach dem 5. Durchlauf wird $i auf 6 erhöht. Damit trifft die Bedingung zur Wiederholung nicht mehr zu, das Programm beendet die Schleife und läuft dahinter weiter. Im vorliegenden Programm ist dann das Ende erreicht. Anmerkung: $i++ ist eine Kurzform der Zuweisung $i=$i+1. Häufig verwendet wird auch $i--, dies ist eine Kurzform der Zuweisung $i=$i-1, also eine Verminderung von $i um 1. Auch bei Schleifen gilt: Falls sich die Schleife auf mehrere Anweisungen bezieht, müssen diese in geschwungen Klammern gesetzt werden. Streng genommen wäre dies also beim obigen Beispiel nicht notwendig gewesen, aber es macht den Code übersichtlicher. Beispiele für for-schleifen Kopf der for-schleife for ($i=10; $i<=15; $i++) 10, 11, 12, 13, 14, 15 for ($i=10; $i<15; $i++) 10, 11, 12, 13, 14 for ($i=10; $i>=5; $i--) 10, 9, 8, 7, 6, 5 for ($i=10; $i>5; $i--) 10, 9, 8, 7, 6 for ($i=3; $i<=22; $i=$i+3) 3, 6, 9, 12, 15, 18, 21 for ($i=32; $i>12; $i=$i-4) 32, 28, 24, 20, 16 $i bekommt nacheinander die Werte for ($i=12; $i<13; $i=$i+0.2) 12.0, 12.2, 12.4, 12.6, 12.8 $a=6, $b=16, $c=2; for ($i=$a; $i<$b; $i=$i+$c) 6, 8, 10, 12, 14 Hinweis: Man sollte immer darauf achten, dass nicht aus Versehen eine Endlos-Schleife erzeugt wird. Dies könnte man z.b. mit dem folgenden Schleifenkopf erreichen: for ($i=3; $i>2; $i=$i+3) Die Bedingung $i>2 ist für alle Zahlen, die erzeugt werden, erfüllt. Demnach wird diese Schleife niemals beendet, und das Programm hängt sich auf. Übungsbeispiel: Schreibe ein Programm, in dem du mit Hilfe von mehreren for-schleifen die nachfolgend angegebenen Zeilen ausgegeben werden. (c11_for.php) Z5 Z7 Z9 Z11 Z13 a b1 a b2 a b3 Seite 17

18 C.4.2 Verschachtelte for-schleifen Schleifen können verschachtelt werden. Dabei befindet sich eine Schleife innerhalb einer anderen. Dadurch wird später die Bearbeitung einer zweidimensionalen Struktur wie z. B. einer Tabelle (siehe HTML) oder eines zweidimensionalen Feldes (siehe ein- und mehrdimensionale Arrays) möglich. Beispiel: (c12_for_verschachtelt.php) for ($z=1; $z<=5; $z=$z+1) for ($s=1; $s<=3; $s=$s+1) echo "Ze$z/Sp$s "; echo "<p>"; Die erste (äußere) Schleife wird fünfmal durchlaufen. Innerhalb dieser Schleife steht wiederum eine (innere) Schleife, die bei jedem Durchlauf der äußeren Schleife dreimal durchlaufen wird. Anschließend wird ein Umbruch erzeugt. Es gibt insgesamt 5 mal 3 = 15 Wiederholungen. C.4.3 while-schleife Die while-schleife wird dazu benutzt, eine unbestimmte Anzahl an Wiederholungen zu erzeugen. Das Ende der Wiederholungen wird bei einem der Schleifendurchläufe erreicht, es kann nicht vorher errechnet werden. While-Schleifen werden häufig bei Datenbank-Abfragen eingesetzt (siehe Datenbanken mit MySQL). Beispiel: Zufallsgenerator (c13a_zufall.php) srand((double)microtime()* ); $summe = 0; while ($summe < 30) $zufallszahl = rand(1,6); // Würfel $summe = $summe + $zufallszahl; echo "Zahl $zufallszahl, Summe $summe<p>"; In diesem Beispiel wird gewürfelt, solange die Summe der gewürfelten Zahlen kleiner als 30 ist. Zum Erzeugen der Würfel-Ergebnisse wird der Zufallsgenerator von PHP verwendet. Dieser Seite 18

19 Zufallsgenerator muss zunächst initialisiert werden, damit er»tatsächlich zufällige«ergebnisse produziert. Innerhalb der Schleife wird jeweils ein Würfel-Ergebnis erzeugt. Die Anzahl der Würfe ist sowohl dem Entwickler als auch dem Benutzer unbekannt, daher kann keine for-schleife verwendet werden. Die Bedingung zur Wiederholung muss in Klammern stehen. Bei der ersten Prüfung der Bedingung hat $summe noch den Wert 0, deshalb darf die Schleife durchlaufen werden. Innerhalb der Schleife wird die gewürfelte Zufallszahl zur Variablen $summe addiert. Die gewürfelte Zahl und die aktuelle Zwischensumme werden ausgegeben. Dann wird wieder überprüft, ob die Summe noch kleiner als 30 ist. Ist dies der Fall, so wird die Schleife erneut durchlaufen. Anderenfalls wird mit der Anweisung hinter dem Schleifenende fortgefahren. Falls dort keine Anweisung mehr steht, ist das Programm zu Ende. Es wird also so lange eine Zahl addiert, bis die Bedingung für die Wiederholung nicht mehr gilt. C.4.4 Schleifenabbruch mit break Mit Hilfe der Anweisung break, kann eine Schleife vorzeitig beendet werden. Damit wird eine zusätzliche Möglichkeit der Schleifensteuerung geschaffen, die ein Programm unter Umständen besser lesbar machen kann. Eine break-anweisung wird immer gemeinsam mit einer if- Bedingung auftreten, da der vorzeitige Abbruch einer Schleife nur in einem»sonderfall«erfolgen sollte. Im nachfolgenden Beispiel wird wieder gewürfelt, solange die Summe kleiner als 30 ist. Es soll allerdings maximal neun Mal gewürfelt (Sonderfall) und dann abgebrochen werden. (c13b_zufall.php) srand((double)microtime()* ); $summe = 0; $zaehler = 0; while ($summe < 30) $zufallszahl = rand(1,6); $summe = $summe + $zufallszahl; $zaehler = $zaehler + 1; echo "Nr. $zaehler, Zahl $zufallszahl,"; echo " Summe $summe<p>"; if ($zaehler >= 9) break; // Sonderfall Es wird ein zusätzlicher Zähler verwendet (Variable $zaehler). Diese Variable wird zunächst auf 0 gesetzt. Innerhalb der Schleife wird ihr Wert immer um 1 erhöht. Sie zählt also die Anzahl der Schleifendurchläufe. Falls dabei die Zahl 9 erreicht bzw. überschritten wird, bricht die Schleife unmittelbar ab. Dies geschieht auch dann, wenn die Summe noch kleiner als 30 ist. Seite 19

20 Anmerkung: Der Vergleich if ($zaehler == 9) hätte auch zu einem Abbruch geführt, allerdings nur bei einer Erhöhung um 1. Falls man in einem anderen Programm mit Hilfe einer anderen Veränderung der Schleifen-Variablen nicht genau den Wert 9 erreichen würde, so würde die Schleife über die vorgesehene Abbruch-Stelle hinausgehen. Daher arbeitet man an diesen Stellen normalerweise mit Bereichsangaben (>= oder <=). C.4.5 Weitere Schleifen-Anweisungen Außer den genannten Anweisungen für Schleifen existieren in der Sprache PHP noch die nachfolgenden Möglichkeiten. Sie sind als Alternativen zu sehen und bieten für bestimmte Fälle Vorteile: C do-while Die do-while-schleife verhält sich wie eine while-schleife, zusätzlich aber gilt: Die Schleife wird mindestens einmal durchlaufen. Die Syntax: do [Anweisungen] while(bedingung); C foreach Die foreach-schleife wird besonders im Zusammenhang mit Feldern verwendet. Die Syntax: foreach([array-ausdruck]) [Anweisungen] C continue Die Anweisung continue wird verwendet, um aufgrund einer Bedingung den Rest einer Schleife zu überspringen und unmittelbar mit dem nächsten Schleifendurchlauf fortzusetzen. C.5 Funktionen Es gibt in PHP zahlreiche vordefinierte Funktionen, die vom Entwickler eingesetzt werden können. Darüber hinaus hat man die Möglichkeit, eigene Funktionen zu schreiben. Dies bringt folgende Vorteile: Gleiche oder ähnliche Vorgänge müssen nur einmal beschrieben und können beliebig oft ausgeführt werden. Programme werden dadurch modularisiert, d. h., sie werden in kleinere Bestandteile zerlegt, die übersichtlicher sind und einfacher gewartet werden können. Seite 20

21 Beispiel: (c14a_trennstrich.php) <head> function trennstrich() echo "<br>"; for ($i=1; $i<=40; $i=$i+1) echo "-"; echo "<br>"; </head> trennstrich(); echo "Dies ist ein Programm,"; trennstrich(); echo "in dem mehrmals"; trennstrich(); echo "eine Funktion verwendet wird,"; trennstrich(); echo "die zu Beginn definiert wurde."; trennstrich(); Funktionen im HEAD Eigene Funktionen werden mit Hilfe von function... ()... definiert. Der Name der Funktion folgt nach dem Schlüsselwort function, in runden Klammern folgen die Parameter (s. unten). Anschließend folgt in geschwungenen Klammern der eigentliche Funktions-Rumpf. Meist wird dies im Kopf (head) eines HTML-Dokumentes durchgeführt, wie hier bei der Funktion trennstrich(). Falls der Entwickler bestimmte, nützliche Funktionen geschrieben hat, die er in mehreren Programmen verwenden möchte, so können diese Funktionen auch in externen Dateien untergebracht werden. Diese externen Dateien können mit den Anweisungen require bzw. include in die jeweiligen Programme eingebunden werden. Aufgabe der Funktion trennstrich() ist die Darstellung eines Zeilenumbruchs, dann 40 Bindestrichen und noch eines Zeilenumbruchs. Jedes Mal, wenn sie vom eigentlichen Programm im Rumpf (body) des Dokumentes aufgerufen wird (mit trennstrich()), führt sie die genannte Aufgabe aus. C.5.1 Funktions-Typen Man unterscheidet dabei zwischen folgenden Funktionstypen: Seite 21

22 Funktionen ohne Parameter: Diese Funktionen führen bei jedem Aufruf immer genau die gleiche Aufgabe aus, wie im obigen Beispiel Funktionen mit einem oder mehreren Parametern: Diese Funktionen führen bei jedem Aufruf in Abhängigkeit von den Parametern ähnliche Aufgaben aus. Funktionen mit Rückgabewerten: Diese Funktionen führen gleiche oder ähnliche Aufgaben aus und liefern ein Ergebnis an die aufrufende Stelle zurück. Für den Namen einer Funktion gelten die gleichen Regeln wie für den Namen einer Variablen. Der einzige Unterschied besteht darin, dass Namen von Funktionen nicht mit einem Dollar- Zeichen beginnen dürfen. C.5.2 Funktionen mit einem Parameter Eine Funktion mit einem Parameter führt bei jedem Aufruf in Abhängigkeit vom Parameterwert ähnliche Aufgaben aus. Das vorherige Beispiel wurde etwas erweitert, die Funktion erzeugt nun unterschiedlich lange Trennstriche: Beispiel: (c14b_trennstrich.php) <head> function trennstrich($anzahl) echo "<br>"; for ($i=1; $i<=$anzahl; $i=$i+1) echo "-"; echo "<br>"; </head> trennstrich(30); echo "In diesem Programm,"; trennstrich(40); echo "sind die Trennstriche"; $x = 20; trennstrich($x); echo "unterschiedlich lang"; trennstrich($x * 3); Die Funktion trennstrich() wird insgesamt vier Mal aufgerufen, jedes Mal mit einem anderen Wert in den Klammern hinter dem Funktionsnamen. Dies ist der Parameter; er kann eine Zahl, eine Variable oder das Ergebnis einer Berechnung sein. Er wird an die Funktion übergeben, dort wird dieser Wert in der Variablen $anzahl gespeichert. Der Wert von $anzahl steuert die Ausführung der for-schleife mit dem Ergebnis, dass die Trennstriche unterschiedlich lang sind. Seite 22

23 Es wird also bei jedem Aufruf fast die gleiche Aktion durchgeführt, beeinflusst durch den Wert des Parameters. C.5.3 Funktionen mit mehreren Parametern Falls einer Funktion mehrere Parameter übergeben werden, sind Anzahl und Reihenfolge der Parameter wichtig. Der erste Wert wird an den ersten Parameter, der zweite Wert an den zweiten Parameter übergeben usw. Ein Beispiel für eine eigene Funktion mit mehreren Parametern: Beispiel: (c15_flexloop.php) <head> function flexloop($von, $bis, $schritt) echo "<br>es folgt eine Schleife von $von"; echo " bis $bis mit der Schrittweite $schritt<br>"; for ($i = $von; $i <= $bis; $i = $i + $schritt) echo "$i "; </head> echo "<p>nummer 1"; flexloop(5,27,3); echo "<p>nummer 2"; flexloop(-10,10,4); echo "<p>nummer 3"; $x = 100; $y = 200; $z = 10; flexloop($x,$y,$z); echo "<p>nummer 4"; flexloop($x,$y,($y-$x)/20); Beim Aufruf der Funktion flexloop() müssen jeweils drei Parameter übergeben werden, und zwar durch Kommata voneinander getrennt. Diese werden in der vorliegenden Reihenfolge den Variablen $von, $bis und $schritt zugeordnet. Diese Variablen werden zur Steuerung der for- Schleife in der Funktion verwendet. Es wird also bei jedem Aufruf eine ähnliche Aktion durchgeführt, beeinflusst durch den Wert der Parameter. Übung (c16_mittel.php) Schreibe ein Programm, in dem eine Funktion av() definiert und benutzt wird, die den arithmetischen Mittelwert von drei Zahlen berechnet und ausgibt. Die drei Zahlen werden der Funktion als Parameter übergeben. Testen Sie die Funktion mit mehreren verschiedenen Aufrufen innerhalb des Programms. Seite 23

24 Übung (c17a_kette.php) Schreibe ein Programm, in dem eine Funktion dev() definiert und aufgerufen wird, die vier Zeichenketten zu einem Satz zusammensetzt und ausgibt. Die vier Zeichenketten werden der Funktion als Parameter übergeben und beinhalten einen Vornamen, einen Nachnamen, einen Firmennamen und den Namen einer Stadt. Falls die Funktion wie folgt aufgerufen wird dev("hans", "Maier", "Siemens", "Düsseldorf"); soll ausgegeben werden: Dieses Programm ist von Hans Maier, Firma Siemens in Düsseldorf Übung (c17b_kette.php) Erweitere das vorige Programm um einen fünften Parameter, in dem zusätzlich das Geschlecht übergeben wird. Falls dieser Parameter den Wert 1 hat, so soll der Satz lauten: "Dieses Programm wurde entwickelt von Frau... " Falls dieser Parameter den Wert 2 hat, so soll der Satz lauten: "Dieses Programm wurde entwickelt von Herrn... " Ein Beispiel für einen Aufruf könnte lauten: dev("julia", "Maier", "Siemens", "Düsseldorf", 1); C.5.4 Rückgabewert Funktionen mit Rückgabewert dienen dazu, ein Ergebnis zu ermitteln und dieses an die aufrufende Stelle zurückzuliefern. Der zurück gelieferte Wert muss entweder in einer Variablen gespeichert oder direkt ausgegeben oder anderweitig festgehalten werden, ansonsten geht er verloren. Ein Beispiel für eine eigene Funktion mit Rückgabewert: Beispiel: (c18_summe.php) <head> function add($z1, $z2) $summe = $z1 + $z2; return $summe; </head> $c = add(3,4); // aufrufende Stelle echo "Summe: $c<p>"; $x = 5; $c= add($x,12); // aufrufende Stelle echo "Summe: $c<p>"; // aufrufende Stelle innerhalb der Ausgabe echo "Summe: ". add(13,2). "<p>"; Seite 24

25 Die Funktion add() hat die beiden Parameter $z1 und $z2. Innerhalb der Funktion werden diese beiden Parameter addiert und in der Variablen $summe gespeichert. Mit Hilfe der Anweisung return wird dieser Wert an die aufrufende Stelle zurückgeliefert und kann dort weiter verarbeitet werden. In den ersten beiden Fällen wird der Wert in der Variablen $c gespeichert, im letzten Fall ohne Zwischenspeicherung direkt ausgegeben. Übung (c19_bigger.php) Schreibe ein Programm, in dem eine Funktion bigger() definiert und aufgerufen wird. Diese Funktion ermittelt die größere von zwei übergebenen Zahlen und liefert diese Zahl zurück. Teste die Funktion mit mehreren verschiedenen Aufrufen innerhalb des Programms und gib das Ergebnis zur Kontrolle aus. Ein Aufruf der Funktion könnte lauten: $c = bigger(3,4); Die Ausgabe des Programmes wäre in diesem Falle: Die größere Zahl ist 4 Übung (c20_etikett.php) Schreibe ein Programm, in dem eine Funktion etikett() definiert und benutzt wird. Diese setzt mehrere Zeichenketten zu einem Adressetikett zusammen und liefert dieses zurück an die aufrufende Stelle. Ein möglicher Aufruf: $text = etikett("hans", "Maier", 52756, "Oberwolfach"); Die Ausgabe sieht wie folgt aus: An Hans Maier Oberwolfach Beachte die Zeilenumbrüche. Teste die Funktion mit mehreren verschiedenen Aufrufen innerhalb des Programms, und gib das Ergebnis zur Kontrolle aus. C.5.5 Verhalten bei Parameter-Übergabe Bei der Übergabe von Parametern an eine Funktion muss man sich noch die Frage stellen: Was passiert, falls ich in der Funktion einen der Parameter verändere? PHP bietet hier mehrere Möglichkeiten an: call-by-value Übergabe der Parameter als Kopie (call-by-value), eine Veränderung der Kopien hat keine Rückwirkung auf das Original: Diese Methode wird angewendet, falls man nur Werte in die Funktion hineinliefern möchte, denn ein möglicher Fehler in der Funktion hat keinen Fehler im aufrufenden Hauptprogramm zur Folge. Sie wurde bei den bisherigen Programmen angewendet. call-by-reference 1 Übergabe der Parameter als Verweis (call-by-reference) auf das Original, eine Veränderung hat Rückwirkung auf das Original: Diese Methode wird angewendet, wenn mehr als ein Wert aus Seite 25

26 einer Funktion zurückgeliefert werden soll. Über einen Rückgabewert könnte nur ein einziger Wert zurückgeliefert werden. call-by-reference 2 Übergabe von Verweisen auf die Original-Parameter, eine Veränderung hat Rückwirkung auf das Original: Möchte man die Änderungsmöglichkeiten der zweiten Methode mit der Sicherheit der ersten Methode verbinden, so kann man diese Vorgehensweise anwenden. Dabei kann der Entwickler von Fall zu Fall entscheiden, ob er beim Aufruf einer Funktion den Wert oder einen Verweis übergibt. Alle drei Methoden sollen zum Vergleich an einem Beispiel dargestellt werden. Den beiden Funktionen rtauschen() bzw. vtauschen() werden zwei Parameter übergeben. Innerhalb der Funktionen sollen die beiden übergebenen Parameter miteinander vertauscht werden. In Abhängigkeit der verschiedenen angewendeten Methoden wird dieses Tauschen Rückwirkungen auf die Original-Variablen im Hauptprogramm haben. Die Werte werden jeweils vor und nach dem Tauschen angezeigt. Beispiel: (c21_tauschen.php) <head> function vtauschen($a, $b) $temp = $a; $a = $b; $b = $temp; function rtauschen(&$a, &$b) $temp = $a; $a = $b; $b = $temp; </head> $x = 12; $y = 18; echo "Methode 1, vorher: $x, $y <p>"; vtauschen($x,$y); echo "Methode 1, nachher: $x, $y <p>"; $x = 12; $y = 18; echo "Methode 2, vorher: $x, $y <p>"; rtauschen($x,$y); echo "Methode 2, nachher: $x, $y <p>"; $x = 12; $y = 18; echo "Methode 3, vorher: $x, $y <p>"; vtauschen(&$x,&$y); echo "Methode 3, nachher: $x, $y <p>"; Seite 26

27 1. Der Wert der Variablen $x wird bei Aufruf der Funktion vtauschen() an die Variable $a übergeben. Der Wert der Variablen $y wird an die Variable $b übergeben. Innerhalb der Funktion vtauschen() werden $a und $b getauscht. Da aber nur die Kopien getauscht wurden, hat dies auf die Originale $x und $y keine Auswirkungen. 2. Den Unterschied sieht man im Funktionskopf function rtauschen(&$a, &$b). Die Variable $x wird beim Aufruf der Funktion rtauschen() per Verweis (Zeichen &) an die Variable $a übergeben. Die Variable $y wird per Verweis an die Variable $b übergeben. Innerhalb der Funktion werden $a und $b vertauscht. Dadurch werden auch die Originale $x und $y vertauscht. 3. Den Unterschied sieht man beim Aufruf der Funktion: vtauschen (&$x, &$y); Die Variable $x wird beim Aufruf der Funktion vtauschen() per Verweis (Zeichen &) an die Variable $a übergeben. Die Variable $y wird beim Aufruf per Verweis an die Variable $b übergeben. Innerhalb der Funktion werden $a und $b vertauscht. Dadurch werden auch die Originale $x und $y vertauscht. Übung (c22_rechnen.php) Schreibe ein PHP-Programm mit einer Funktion rechnen(). Dieser Funktion werden zwei Zahlen übergeben. Sie soll zwei Ergebnisse über die Parameterliste zurückliefern, zum einen die Summe der beiden übergebenen Zahlen, zum anderen das Produkt der übergebenen ersten Zahlen. Alle beteiligten Zahlen sollen im Hauptteil des Programms, also außerhalb der Funktion, ausgegeben werden. Verwende zur Übergabe die dritte Methode (Übergabe von Verweisen auf die Original-Parameter). C.5.6 Globale und lokale Variablen Variablen werden auch nach ihrem Gültigkeitsbereich unterschieden. Dies ist der Bereich, in dem die betreffende Variable mit ihrem Wert bekannt ist. Es gibt Variablen mit globalem Gültigkeitsbereich und Variablen mit lokalem Gültigkeitsbereich. Diese scheinbare Einschränkung auf einen lokalen Gültigkeitsbereich bietet bei längeren Programmen den Vorteil, dass Variablen nicht so leicht aus Versehen an weit voneinander entfernten Stellen verändert werden können. Eine globale Variable wird außerhalb von Funktionen definiert und steht nur außerhalb derselben zur Verfügung. Dies ist ein Unterschied zu vielen anderen Programmiersprachen. Falls man eine globale Variable innerhalb einer Funktion benutzen möchte, so muss sie dort entweder mit dem Schlüsselwort global bekannt gemacht oder als Parameter übergeben werden. Variablen, die ihren Ursprung außerhalb des Programms haben wie z. B. Werte aus Formularfeldern sind immer global. Eine lokale Variable wird in einer Funktion definiert und steht nur innerhalb dieser Funktion zur Verfügung. Lokale Variablen gleichen Namens in unterschiedlichen Funktionen oder globale Variablen gleichen Namens haben nichts miteinander zu tun. Ein Parameter, der als Kopie an eine Funktion übergeben wird, ist dort lokal. Seite 27

28 Beispiel: (c23_lokalglobal.php) <head> function summiere() echo "Variable z: $z<p>"; global $x; $y = 35; $z = $x + $y; echo "Variable z: $z<p>"; </head> $x = 6; $y = 52; $z = $x + $y; summiere(); echo "Variable z: $z<p>"; In diesem Programm existieren insgesamt fünf unterschiedliche Variablen. Die beiden Variablen $y und $z in der Funktion summiere() sind nur dort lokal bekannt. Zum Zeitpunkt des ersten Ausgabebefehles in der Funktion existiert $z noch nicht, daher wird kein Wert ausgegeben. Nach Verlassen der Funktion summiere() sind beide Werte nicht mehr verfügbar. Im Hauptprogramm gibt es insgesamt drei Variablen: $x, $y und $z. Das Schlüsselwort global sorgt dafür, dass $x auch in der Funktion summiere() mit seinem Wert bekannt ist. $y und $z sind nur außerhalb von Funktionen bekannt. Die Ausgabe des Programmes sieht aus wie folgt: Variable z: Variable z: 41 Variable z: 58 Seite 28

Funktionen in PHP 1/7

Funktionen in PHP 1/7 Funktionen in PHP 1/7 Vordefinierte Funktionen in PHP oder vom Entwickler geschriebene Funktionen bringen folgende Vorteile: gleiche Vorgänge müssen nur einmal beschrieben und können beliebig oft ausgeführt

Mehr

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

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

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

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

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

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

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

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

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

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

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

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

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

Ü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

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben

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

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

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

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

HTML Programmierung. Aufgaben

HTML Programmierung. Aufgaben HTML Programmierung Dr. Leander Brandl BRG Keplerstraße - A-8020 Graz Universität Graz - Institut für Experimentalphysik Fachdidaktik der Physik http://w4.brgkepler.asn-graz.ac.at 1. Die erste Web-Seite

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

Lua Grundlagen Einführung in die Lua Programmiersprache

Lua Grundlagen Einführung in die Lua Programmiersprache Lua Grundlagen Einführung in die Lua Programmiersprache 05.05.2014 Ingo Berg berg@atvoigt.de Automatisierungstechnik Voigt GmbH Die Lua Programmiersprache Was ist Lua? freie Programmiersprache speziell

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

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

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

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

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

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

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

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift. Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung

Mehr

Fremdsprachen bearbeiten

Fremdsprachen bearbeiten Fremdsprachen bearbeiten Dieses Dokument beschreibt, wie Sie fremdsprachliche Inhalte bearbeiten können. Login Melden Sie sich an der jeweiligen Website an, in dem Sie hinter die Internet- Adresse das

Mehr

Einführung in die Skriptsprache PHP

Einführung in die Skriptsprache PHP Einführung in die Skriptsprache PHP 1. Erläuterungen PHP ist ein Interpreter-Programm, das auf dem Server abgelegte Dateien dynamisch, d.h. zur Zeit des Zugriffes, aufbereitet. Zusätzlich zum normalen

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

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Martin Vollenweider Dateinamen im Internet Da wir im Internet in gemischten Hard- und Softwareumgebungen (z.b. Windows, Unix, Macintosh,

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

SEPA-Anleitung zum Release 3.09

SEPA-Anleitung zum Release 3.09 Hier folgt nun eine kurze Information was sich mit dem neuen Release 3.08 zum Thema SEPA alles ändert. Bitte diese Anleitung sorgfältig lesen, damit bei der Umsetzung keine Fragen aufkommen. Bitte vor

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

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

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

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

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen

Mehr

Schiller-Gymnasium Hof 20.12.2004

Schiller-Gymnasium Hof 20.12.2004 Erstellen eines HTML-Dokumentes Zum Erstellen einer Homepage benötigen wir lediglich einen Editor. Zum Ansehen der fertigen Site benötigen wir wir natürlich auch einen Browser, z.b. Firefox oder Netscape

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

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

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

Wir basteln einen Jahreskalender mit MS Excel.

Wir basteln einen Jahreskalender mit MS Excel. Wir basteln einen Jahreskalender mit MS Excel. In meinen Seminaren werde ich hin und wieder nach einem Excel-Jahreskalender gefragt. Im Internet findet man natürlich eine ganze Reihe mehr oder weniger

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

Dynamische Webseiten mit PHP 1

Dynamische Webseiten mit PHP 1 Dynamische Webseiten mit PHP 1 Webserver, PHP und MYSQL Ein Webserver dient dazu, Internetseiten an PCs zu senden, von denen sie aufgerufen werden. Beispiel: Sie tippen im Browser www.fosbosweiden.de ein.

Mehr

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Version 1.0 Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten In unserer Anleitung zeigen wir Dir, wie Du Blogbeiträge

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

Mehr

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern.

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Tutorial In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Zu Beginn müssen wir uns über die gewünschten Sprachen Gedanken machen. Zum einem, da eine professionelle

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Funktion Erläuterung Beispiel

Funktion Erläuterung Beispiel WESTFÄLISCHE WILHELMS-UNIVERSITÄT WIRTSCHAFTSWISSENSCHAFTLICHE FAKULTÄT BETRIEBLICHE DATENVERARBEITUNG Folgende Befehle werden typischerweise im Excel-Testat benötigt. Die Beispiele in diesem Dokument

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

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

E-Mail-Inhalte an cobra übergeben

E-Mail-Inhalte an cobra übergeben E-Mail-Inhalte an cobra übergeben Sie bieten ihren potentiellen oder schon bestehenden Kunden über ihre Website die Möglichkeit, per Bestellformular verschiedene Infomaterialien in Papierform abzurufen?

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

Stapelverarbeitung Teil 1

Stapelverarbeitung Teil 1 Stapelverarbeitung Teil 1 In jedem Unternehmen gibt es von Zeit zu Zeit Änderungen in Normen und Firmenstandards, an die aktuelle und bereits bestehende Zeichnungen angepasst werden müssen. Auch Fehler

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

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

1.4.12 Sin-Funktion vgl. Cos-Funktion .4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

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

.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

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

1. LPC - Lehmanns Programmier Contest - Lehmanns Logo

1. LPC - Lehmanns Programmier Contest - Lehmanns Logo Aufgabe ist die Entwicklung einer vereinfachten Variante der beliebten Programmiersprache Logo. Die Aufgabe ist in drei Stufen zu erledigen, von der wir zunächst nur die erste Stufe bekannt geben. Die

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

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

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de DYNAMISCHE SEITEN Warum Scriptsprachen? Stand: 11.04.2005 CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de I N H A L T 1 Warum dynamische Seiten?... 3 1.1 Einführung... 3 1.2 HTML Seiten...

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb CashPro basiert auf Accesstechnologie 2003 und ist auch unter den aktuellen Accessversionen 2007 bis 2013 einsetzbar und Mehrbenutzerfähig.

Mehr

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung: Installation Bevor Sie mit der Installation von MOVIDO 1.0 beginnen, sollten Sie sich vergewissern, dass der Internet Information Server (IIS) von Microsoft installiert ist. Um dies festzustellen, führen

Mehr

Kontrollstrukturen - Universität Köln

Kontrollstrukturen - Universität Köln Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,

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

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

HTML5. Wie funktioniert HTML5? Tags: Attribute:

HTML5. Wie funktioniert HTML5? Tags: Attribute: HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,

Mehr

Sie wollen Was heißt das? Grundvoraussetzung ist ein Bild oder mehrere Bilder vom Wechseldatenträger

Sie wollen Was heißt das? Grundvoraussetzung ist ein Bild oder mehrere Bilder vom Wechseldatenträger Den Speicherplatz wechseln oder eine Sicherungskopie erstellen. Es lässt sich nicht verhindern. Manche Sachen liegen am falschen Platz, können gelöscht werden oder man will vor der Bearbeitung eine Sicherungskopie

Mehr

Druckerscriptsprache

Druckerscriptsprache Druckerscriptsprache Die Druckerscriptsprache stellt Ihnen ein mächtiges Werkzeug zur Erstellung und Automatisierung von komplexen Druckvorgängen zur Verfügung. Vom Folgedruck bis zum Archivfunktion ist

Mehr

ARCO Software - Anleitung zur Umstellung der MWSt

ARCO Software - Anleitung zur Umstellung der MWSt ARCO Software - Anleitung zur Umstellung der MWSt Wieder einmal beschert uns die Bundesverwaltung auf Ende Jahr mit zusätzlicher Arbeit, statt mit den immer wieder versprochenen Erleichterungen für KMU.

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

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

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

Snippets - das Erstellen von "Code- Fragmenten" - 1

Snippets - das Erstellen von Code- Fragmenten - 1 Snippets - das Erstellen von "Code- Fragmenten" Das Erstellen von "Code- Fragmenten", welche mit dem TinyMCE ausgewählt werden können. Grundlegendes: Die Datei, welche die in Folge erklärten Daten und

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

Layoutmodelle. Steffen Schwientek Große Klostergasse 5 61169 Friedberg Email:schwientek@web.de Web :schlaukopp.org

Layoutmodelle. Steffen Schwientek Große Klostergasse 5 61169 Friedberg Email:schwientek@web.de Web :schlaukopp.org Layoutmodelle HTML wurde von ihren Erfindern nicht als Layoutsprache entworfen, sondern zur Informationsübermittlung entworfen Es gab verschiedene Modelle, welche das Web populär machten und. Bei Erstellung

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

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

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

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