Inhaltsverzeichnis. Seminar Einführung in die Programmierung mit PHP. Datum:

Größe: px
Ab Seite anzeigen:

Download "Inhaltsverzeichnis. Seminar Einführung in die Programmierung mit PHP. Datum: 28.01.2010"

Transkript

1 Inhaltsverzeichnis 1. PHP (Hypertext Preprocessor) Einführung Zusammenhang HTML und HTTP XAMPP (x Apache MySQL PHP Perl) Einrichten von XAMPP Das erste PHP-Skript Verwendung der Online-Hilfe Einführung in die Strukturierte Programmierung Einführung in PHP Projektauftrag "Kapitalverzinsung" Variablen und Zuweisung Formularauswertung Verzweigung Selbstverweis Logische Operatoren Fallunterscheidung Schleifen Funktionsreferenz Mathematische Funktionen Stringfunktionen Datums- und Zeitfunktionen Sonstige Funktionen Übersicht Operatoren Sonstiges Petra Treubel Seite 1

2 1. PHP (Hypertext Preprocessor) 1.1 Einführung Ursprünglich stand die Abkürzung für Personal Home Page und wurde erstmalig 1995 aus einer Sammlung von C-Skripten, die Zugriffe auf die Website von Rasmus Lerdorf speichern sollten, von diesem entwickelt. Mit PHP 3 wurde die Grundstruktur der Sprache vollkommen überarbeitet. PHP ist eine auf dem Webserver interpretierte Skriptsprache. Das bedeutet man braucht einen Webserver (Apache oder IIS) und einen darin integrierten PHP-Interpreter, um PHP-Skripte ausführen zu lassen. Unter einer Webseite versteht man eine einzelne Datei oder Seite, die in HTML geschrieben sein kann. Wird dabei nur dieses Dokument unveränderlich im Webbrowser dargestellt, spricht man von statischen Webseiten. Dynamische Webseiten sind grundsätzlich durch Benutzerinteraktion veränderbar. Diese Veränderbarkeit wird über eine Programmierung zum Beispiel mit CGI- oder PHP- Skripten herbeigeführt. Um die Daten zum Beispiel für einen Internetshop zu speichern, werden Datenbanksysteme verwendet. Im Gegensatz zur einzelnen Webseite ist mit einer Website oder auch Webpräsenz ein ganzer Internetauftritt gemeint, der aus mehreren (hundert) Webseiten besteht. 1.2 Zusammenhang HTML und HTTP Der Begriff Internet steht heute eigentlich nur noch für das World Wide Web. Der Begriff World Wide ist ein über das Internet abrufbares Hypertext-System, welches erstmals 1991 weltweit zur Verfügung stand. Hypertextsysteme bestehen aus Texten, welche in einer netzartigen Struktur über Hyperlinks miteinander verbunden sind. Die Sprache, in der im WWW dieses System realisiert worden ist, heißt HTML. Das WWW kann man als Client-Server-System bezeichnen, da die HTML-Dokumente auf einem Webserver zur Verfügung gestellt werden und von einem Client mittels Webbrowser abgerufen werden. Über den Webbrowser, ein Programm, welches in der Lage ist HTML-Seiten darzustellen, werden Daten über das Protokoll HTTP von einem Webserver angefordert. HTML (Hypertext Markup Language) steht dabei für eine Seitenbeschreibungssprache oder Auszeichnungssprache, die dazu dient Text, Bilder und Hyperlinks in textbasierten Dokumenten darzustellen. Hyperlinks führen wiederum auf andere HTML-Dokumente. In einem Hyperlink ist meist unsichtbar für den Benutzer des Webbrowsers die URI (Uniform Resource Identifier) angegeben, die über ein Protokoll auf einen bestimmten Namen oder Ressource verweist. Im Zusammenhang mit dem Webbrowser ist dies in der Regel eine Webseite, die sich an einen Domainnamen anschließt. Zum Beispiel: Damit das angeforderte Dokument im riesengroßen Internet auch gefunden werden kann, muss aus dem Domainnamen innerhalb der URI die IP-Adresse ermittelt werden. Jeder Knoten im Internet hat eine eindeutige Adresse, die für die Zustellung der Daten unbedingt erforderlich ist. Um IP-Adressen zu erhalten, werden DNS-Server befragt, die für jeden im Internet registrierten Domainnamen die entsprechende IP-Adresse angeben können. DNS (Domain Name System) ist ein aus weltweit tausenden von DNS-Servern bestehendes, hierarchisch aufgebautes System, welches die Namensräume im Internet (und im LAN) verwaltet. www. domain. topleveldomain / ordner / datei.html Petra Treubel Seite 2

3 Abb. 1: Aufruf einer Webseite mit vorheriger Namensauflösung HTTP (Hypertext Transfer Protocol) ist ein Protokoll, welches Daten über Netzwerke liefert. Dazu müssen die Daten angefordert werden (request) und der Server antwortet mit der Auslieferung (response) der Daten. Es gibt einen HTTP-Header, in dem der Webbrowser beim Request dem Server mitteilt, von wo er welches Dokument haben möchte, welche Kodierung und Sprache er bevorzugt oder von welcher Webbrowser-Software die Anfrage erfolgt. Abb. 2: Beispielhafte Darstellung eines HTTP-Request Petra Treubel Seite 3

4 Bei der Antwort enthält der Header auch noch einen Statuscode, der aussagt, ob eine normale Antwort erfolgt, ein Dokument nicht gefunden wurde oder der Zugriff auf das Dokument verweigert worden ist. Im Body der Antwort ist im positiven Fall (Statuscode = 200) das angeforderte Dokument enthalten. Dabei könnte es sich z.b. um ein HTML-Dokument (Mime-Typ: html/text) oder eine PDF-Datei (Mime- Typ: application/pdf) handeln. HTTP-Header HTTP-Body Abb. 3: Beispielhafte Darstellung eines HTTP-Response mit Header und Body Petra Treubel Seite 4

5 1.3 XAMPP (x Apache MySQL PHP Perl) Als Webserver verwenden wir Apache, der ein von der Apache Software Foundation unterstützter Webserver auf Basis von Open Source Software darstellt und frei verfügbar ist (open software license, also keine Lizenzkosten wie beim IIS von Microsoft). Auf der Website werden verschiedene Distributionen zur Verfügung gestellt, die den Einstieg zu einem eigenen Apache-Webserver sehr erleichtern. Es gibt dabei verschieden Distributionen für Linux (LAMPP) und Windows (WAMPP). Wir werden zurzeit die Version XAMPP Windows benutzen, zu der auch noch FileZilla (FTP-Server), Mercury Mail Transport System ( -Server) u. a. enthält, was wir allerdings außer Acht lassen werden. Unter EXE findet sich ein Selbst-extrahierendes RAR-Archiv, welches den Vorteil hat, dass nichts installiert wird und die Dienst manuell gestartet werden können (und müssen). Auch XAMPP lite wäre für unsere Einsatzzwecke vollkommen ausreichend, weil wir die anderen Services sowieso nicht einsetzen werden. 1.1 Zusammenspiel von Apache, PHP und MySQL Soll eine dynamische Webseite also hier ein PHP-Skript von einem Webserver abgerufen werden, erfolgt der Vorgang wie in Kapitel 2.1 beschrieben. (1), (2) Der Webbrowser fordert mittels einer HTTP-Anfrage (zum Beispiel über das Internet) die Webseite index.php vom Webserver an. (HTTP-Request) (3) Der Webserver erkennt, dass es sich um eine PHP-Datei handelt und leitet diese an das PHP- Modul weiter. Der PHP-Interpreter interpretiert (parst) Zeile für Zeile des PHP-Codes. (4), (5) Sollten sich Datenbankanfragen im PHP-Code befinden, wird eine Verbindung zur MySQL- Datenbank aufgebaut und die Daten bearbeitet, bzw. abgefragt. (6) Nachdem der PHP-Interpreter den PHP-Code interpretiert hat erhält der Webserver eine vollständig aus HTML-Code bestehende Seite zurück. (oder auch eine andere Dateiart, z. B. eine Audio- oder eine pdf-datei) (7), (8) Der Webserver schickt die dynamisch erstellte HTML-Seite an den Webbrowser zurück. (HTTP-Response) 1 8 Internet Abb. 4: Funktionsweise eines datenbankunterstützen PHP-Skripts Webserver PHP- Interpreter MySQL- DB Petra Treubel Seite 5

6 1.4 Einrichten von XAMPP Sie sollten das XAMPP-Verzeichnis direkt im Wurzelverzeichnis Ihres Laufwerks anlegen. Beispiel: D:\xampp Ganz schlecht sind Speicherorte wie Desktop oder Eigene Dateien, weil dieser nur für den jeweilig angemeldeten Benutzer zur Verfügung stehen. Es gibt zwei Konfigurationsdateien, die wichtig sind:.\xampp\apache\conf\httpd.conf (Apache-Konfigurationsdatei) und.\xampp\apache\bin\php.ini (PHP-Konfigurationsdatei). Hinweis: Bitte nehmen Sie hier jedoch keine Änderungen vor, von denen Sie nicht unbedingt wissen, dass sie notwendig und korrekt sind. Außerdem sind unter Linux- /Unix-Betriebssystemen die Verzeichnis-Pfade entsprechend anzupassen. Nachdem XAMPP installiert oder entpackt wurde, müssen die erforderlichen Dienste (hier: Apache) gestartet werden. Entweder über das Tool XAMPP Control Panel Application oder durch Ausführen der.\xampp\apache_start.bat. Dauerhaft kann der Dienst auch über.\xampp\apache\apache_installservice.bat implementiert werden. Damit die PHP-Skripte auch vom Apache-Webserver an den Interpreter gesendet werden können, müssen alle Dateien im sogenannten "DocumentRoot" also in.\xampp\htdocs gespeichert. Sie sollten sich hier einen Ordner (z. B. Workspace siehe unten)anlegen, in dem Sie alle PHP-Dateien ablegen. So können Sie über die Firefox-Symbolleiste einen Link anlegen, der genau auf diesen Ordner verweist. In Firefox muss der Aufruf der gespeicherten PHP-Dateien über den Webserver gewählt werden, damit diese auch an den PHP-Interpreter weiter gereicht werden können. Da wir alle einen lokalen Apache-Webserver haben, geben wir als URI ein. Hinter localhost steht die IP- Loopback-Adresse jedes Rechners, die nur für interne Zwecke verwendet wird. Abb. 5: Aufruf des Workspace-Ordners über die Symbolleiste von Firefox Petra Treubel Seite 6

7 1.5 Das erste PHP-Skript Starten Sie einen beliebigen Editor und geben Sie folgenden Code ein: <html> <head> <title>ausgabe des heutigen Datum</title> </head> <body> <?php // ein einzeiliger Kommentar echo "Mein Rechner sagt, heute ist der: <br>"; echo date("d.m.y");?> </body> </html> Speichern Sie den Code unter.\xampp\htdocs\workspace\datum.php ab und rufen Sie diese Datei über den Pfad auf. Anzeige des Seitenquelltextes: <html> <head> <title>ausgabe des heutigen Datum</title> </head> <body> Mein Rechner sagt, heute ist der: <br> </body> </html> Der PHP-Interpreter hat den gesamten PHP-Code zwischen den PHP-Tags ausgeführt und durch reinen HTML-Code ersetzt. PHP-Tags dürfen beliebig oft in einem einer PHP-Dokument eingesetzt werden. Beginn des PHP-Codes: <?php Ende des PHP-Codes:?> Mit echo wird eine Ausgabe gemacht und date( ) ist eine in PHP implementierte Funktion. Siehe auch: Lesen Sie sich die Hilfe durch und verändern Sie das Skript so, dass auch die aktuelle Zeit ausgegeben wird. Petra Treubel Seite 7

8 2. Verwendung der Online-Hilfe Unter der Website gibt es ein ausführliches Online-Handbuch für PHP. Bei der Benutzung kann man entweder die Suchfunktion benutzen, um nach bestimmten Schlüsselwörtern zu suchen oder man wählt den Weg über das Inhaltsverzeichnis. Nachdem nach echo gesucht wurde, sieht man das Ergebnis unten: Die Bezeichnung vor echo ist der Rückgabewert, der weiter unten in der Hilfe genauer beschrieben wird. Hier steht in diesem Fall void, was bedeutet, dass es keine Rückgabewert gibt. In den runden Klammern werden üblicherweise die Parameter angegeben, die auch in der Online-Hilfe weiter unten genauer bezeichnet werden. Parameter ganz allgemein sind Werte oder Variablennamen, die der Funktion übergeben werden. Der Typ der Parameter ist in diesem Fall string, was für eine beliebig lange Zeichenfolge steht. Optional angegebene Parameter sind in eckige Klammern eingefasst, die beim Aufruf unbedingt weggelassen werden müssen. Das Komma als Trennzeichen zwischen den verschiedenen Parameters ist jedoch wieder wichtig. Beispiele: // nur ein Parameter echo "Mein Name ist Petra Treubel"; // auch ein Parameter, wobei die Zeichenkette mit dem // Punktoperator verbunden wurden echo date("d.m.y"). " und die Zeit ist: "; // drei Parameter mit Kommata getrennt echo "Ich bin ", "Petra", " Treubel"; Petra Treubel Seite 8

9 3. Einführung in die Strukturierte Programmierung Symbol Benennung Operation/Anweisung Verzweigung Ablauflinie Eingabe, Ausgabe Grenzstelle (Anfang und Ende) Tabelle: Symbole für Programmablaufpläne nach DIN Start Sommerreifen aus dem Keller holen solange Reifen vorhanden? falsch wahr Schrauben lösen Rad wechseln Schrauben festdrehen Ende Abb. 6: PAP "Wechseln der Autoreifen" Petra Treubel Seite 9

10 4. Einführung in PHP 4.1 Projektauftrag "Kapitalverzinsung" Eine Bank besitzt bereits eine Webpräsenz, auf der verschiedene Informationen veröffentlicht werden. Als zusätzlichen Service möchte die Geschäftsführung einen Service anbieten, der verschiedene nützliche Berechnungen durchführt. So soll den Besuchern verschiedene Möglichkeiten zur Berechnung der Kapitalverzinsung zur Verfügung gestellt werden. 4.2 Variablen und Zuweisung Datentypen In PHP werden beim Angeben einer Variablen keine Angaben zum Datentyp gemacht. Man unterscheidet vier (skalare) Datentypen: Boolean Wahrheitswert, mögliche Wert: true, false Integer Ganze Zahl, mögliche Werte: , 0, 1, Double (oder Float) Fließkommazahl, mögliche Werte: 0.123, 1.2e3, 7E-10 String Zeichenkette, mögliche Werte: "abc", "4. Eintrag:", "999" In der Online-Hilfe wird auch häufig der Datentyp mixed angegeben. Das bedeutet, dass hier verschiedenste Datentypen bei der Übergabe als Parameter akzeptiert werden. Number heißt, dass es eine Zahl sein muss (Integer oder Double). PHP kennt noch weitere Datentypen (Array, Object, Resource, NULL), die wir jedoch nicht behandeln Variablen Variablen sind dafür da, um Werte zu speichern. Die Variable und der Wert der Variablen sind maximal so lange gültig, wie das PHP-Skript ausgeführt wird. Eine Variable kann immer nur einen Wert haben. Wird ihr ein neuer Wert zugewiesen, ist der alte Wert verloren. Eine Variable hat einen eindeutigen Namen, der mit einem Dollarzeichen beginnt. Nach dem Dollarzeichen muss ein Buchstabe oder ein Unterstrich gefolgt von einer beliebigen Anzahl von Buchstaben, Zahlen oder Unterstrichen folgen. Gültige Variablen: $Zahl, $_text, $text1, $i Variablennamen sind case-sensitive, das heißt Groß- und Kleinschreibung von Buchstaben ist wichtig. $name ist nicht gleich $Name! Zuweisung Einer Variablen erhält einen Wert durch eine Zuweisung. Dafür muss der Variablenname links stehen und rechts davon ein Gleichheitszeichen, der sogenannte Zuweisungsoperator. Rechts vom Gleichheitszeichen steht der zuzuweisende Wert. Das kann ein skalarer Wert sein, ein Ergebnis einer Berechnung oder der Rückgabewert einer Funktion. Eine Zuweisung wird immer mit einem Semikolon abgeschlossen. Beispiel: $zahl = 100; $datum = date("e"); $text = "Hallo Welt"; $summe = ; Links vom Zuweisungsoperator darf maximal eine Variable stehen. Petra Treubel Seite 10

11 Falsch: $datum + 99 = 7; Anforderung an das Programm und Algorithmus (Lösung) Das PHP-Skript soll folgende Anforderung erfüllen: Festgelegtes Anfangskapital Festgelegter Jahreszinssatz Berechnung der Verzinsung für ein Jahr Ausgabe des Anfangskapitals und des verzinsten Kapitals Die Formel zur Berechnung des verzinsten Kapitals lautet: = Das Anfangskapital von wird bei einem Zinssatz von 4% um 200 erhöht. Anfang $zinssatz = 4.0 $anfangskapital = 5000 $zinsen = $anfangskapital * $zinssatz / 100 $endkapital = $anfangskapital + $zinsen $anfangskapital $zinssatz $endkapital Ende Petra Treubel Seite 11

12 4.2.5 Umsetzung in PHP Das PHP-Skript endkapital.php erfüllt die Anforderungen: <html> <head> <title>endkapitalberechnung</title> </head> <body> <?php // Variablen deklararien und Werte zuweisen. $zinssatz = 4.0; $anfangskapital = 5000; $zinsen = 0; $endkapital = 0; // Zinsen für ein Jahr berechnen: $zinsen = $anfangskapital * $zinssatz / 100; // Zinsen auf das Anfangskapital addieren: $endkapital = $anfangskapital + $zinsen; // Ergebnis ausgeben: echo "Anfangskapital: ". $anfangskapital. " <br>"; echo "Jahreszinssatz: ". $zinssatz. "%<br>"; echo "Endkapital nach einem Jahr: ". $endkapital. " <br>";?> </body> </html> Der berechnete Wert, der in der Variablen $endkapital gespeichert ist, wird über den echo-befehl in die dynamisch generierte HTML-Seite eingefügt: "Endkapital nach einem Jahr: 5200 <br>" Petra Treubel Seite 12

13 4.3 Formularauswertung Formulare in HTML Formulare in HTML werden grundsätzlich zwischen dem <form>... </form>-tag platziert. Innerhalb des einleitenden form-tags können noch zusätzliche Angaben gemacht werden. Das action-attribut ist Pflicht und gibt an, an welche URI die Eingaben nach dem Abschicken weitergeleitet werden sollen. Dabei ist es möglich den absoluten Pfad oder einen relativen Pfad anzugeben. Absoluter Pfad: Relativer Pfad:./rechne.php <form action="./auswerten.php" method="get" > <!-- hier folgen die Formularelemente --> </form> Innerhalb der form-tags werden die Formularelemente angegeben. Formularelemente können: Eingabefelder (<input type="text"... >), Eingabebereiche (<input type="textarea"... >), Auswahllisten (<select... > <option>... </option> </select> ), Radiobuttons (<input type="radio"... >), Checkboxen (<input type="checkbox"... >), Dateiuploadfelder (<input type="file"... >) und versteckte Element (<input type="hidden"... >) HTTP-Methode GET und POST Die Methode bestimmt, wie die Formulardaten an das aufgerufene Skript übergeben werden. Es gibt neben weiteren, hier nicht besprochenen Methoden die Get- und die Post-Methode. method="get" und " method="post" Die Methode get hängt alle Formularelemente als Name-Wert-Paare an die URI an. Dabei kennzeichnet das Fragezeichen den Beginn des ersten Name-Werte-Paares. Jedes weitere Name- Werte-Paar wird mit dem kaufmännischen Und (&) angehängt. Die Länge der URI ist begrenzt ( Byte je nach Webbrowser) und damit auch die Möglichkeit Formularelement zu übergeben. Beispiele einer URI: Bei der Methode post werden die Name-Werte-Paare unsichtbar für den Benutzer des Browsers im Body des HTTP-Datagramms übertragen. Die Länge des Inhalts ist dabei nicht beschränkt. Nachdem die Formulardaten mittels get oder post übergeben worden sind, können sie im aufgerufenen Skript aus den globalen Servervariablen $_GET oder $_POST ausgelesen werden. Es handelt sich hier um ein assoziatives Array, welches die name-felder als Schlüssel verwendet. <form action="./auswerten.php" method="get" > <input type="text" name="name" > in auswerten.php: $_GET [ ' name ' ] <form action="./auswerten_2.php" method="post" > <input type="text" name="name" > in auswerten_2.php: $_POST [ ' name ' ] Petra Treubel Seite 13

14 4.3.3 Anforderung an das Programm und Algorithmus Auf der Webseite endkapital.php konnte der Benutzer zurzeit sein Anfangskapital nicht eingeben. Die Zahl war vorgeben und musste vom Programmierer geändert werden. In der nächsten Form des Projektauftrages soll der Benutzer die Eingabe eines Anfangskapitals ermöglicht werden. Das PHP-Skript soll folgende Anforderung erfüllen: Formulareingabe des Anfangskapital Festgelegter Jahreszinssatz Berechnung der Verzinsung für ein Jahr Ausgabe des Anfangskapitals und des verzinsten Kapitals Aus diesem Grunde ändert sich auch nur eine Anweisung im Programmablaufplan, die unten dargestellt wird: $anfangskapital einlesen Umsetzung in PHP Um die Anforderungen zu erfüllen, gibt es zwei Dateien. Die eine (eingabe.html) ist eine HTML- Datei, die das Formular enthält und die andere (auswerten.php) nimmt die Formulardaten entgegen, führt die Berechnungen aus und gibt das Ergebnis aus. <html> <head> <title>endkapital mit Formular</title> </head> <body> <h4> Endkapital: Eingabeformular </h4> <form action="./auswerten.php" method="get"> Anfangskapital:<input type="text" name="anfangkap" > <br> <input type="submit" name="berechnen" value="berechnen"> <br> </form> </body> </html> Im action-attribut wird innerhalb des einleitenden form-tags die Datei "./auswerten.php" angeben, die nach dem Betätigen der Schaltfläche ausgeführt wird. Die einzige Veränderung im Code ist, dass in der auswerten.php nun die Zuweisung des Wertes über $_GET['anfangkap'] erfolgen muss. <?php // Variablen deklararien und Werte zuweisen. $zinssatz = 4.0; $anfangskapital = $_GET['anfangkap']; Petra Treubel Seite 14

15 4.4 Verzweigung Einführung Innerhalb der Programmierung sollen natürlich nicht alle Anweisungen bedingungslos ausgeführt werden. So möchte man eine Division durch eine Zahl natürlich nur dann ausführen, wenn die Zahl keine Null ist. Aus diesem Grunde kann innerhalb des Programmablaufs eine Frage gestellt werden, die allerdings nur mit ja (wahr, engl. true) oder nein (falsch, engl. false) beantwortbar sein muss. Diese Frage wird Bedingung genannt und ist eine Möglichkeit den Programmablauf zu kontrollieren. Richtige Bedingungen wären: "Ist die Zahl nicht gleich 0?" oder "ist der Name Paul?", bzw. falsche Bedingungen wären: "Wie heißt du?" oder "Wie alt bist du?". Zur Formulierung von Bedingungen benutzt man meistens Vergleichsoperatoren (siehe Kap Vergleichsoperatoren). Links und rechts vom Vergleichsoperator können zwei Variablen stehen oder eine Variable und eine Konstante: if ( $wert1 <= $wert2 ) if ( $zahl!= 0 ) if ( $name == "Paul" ) Achten Sie darauf, dass der Vergleich "12" == 12 true ist, aber der Vergleich von "12" === 12 false! if ( bedingung ){ anweisung 1; else{ anweisung 2; anweisung 3; Abb. 7: Ablaufschema if-else-kontrollstruktur Nachdem die Bedingung überprüft wurde, ist sie entweder wahr (true) oder falsch (false). Ist die Bedingung true wird die Anweisung 1 ausgeführt. Diesen Teil innerhalb der geschweiften Klammern nennt man auch Dann- oder Then-Zweig. Ist die Bedingung false wird Anweisung 2 ausgeführt und nicht Anweisung 1. Hier befinden wir uns im Sonst- oder Else-Zweig der Verzweigung. Danach wird auf jeden Fall Anweisung 3 ausgeführt. Links ist der Ablauf als Programm-Ablauf-Plan und rechts als PHP-Code dargestellt. Zu beachten ist, dass natürlich nicht zwingend nur eine Anweisung im Then- oder Else-Zweig stehen kann, sondern mehrere Anweisung oder weitere Kontrollstrukturen Anforderung an das Programm und Algorithmus Die Programmanforderungen werden erweitert. Es soll jetzt möglich sein einen Devisenrechner auf der Website zur Verfügung zu stellen. Der Devisenrechner soll eingegebene Euro in Dollar umrechnen oder umgekehrt. Petra Treubel Seite 15

16 Das PHP-Skript soll folgende Anforderung erfüllen: Formulareingabe des Betrages Auswahl der gewünschten Währung mittels Radio-Button Umrechnung des Betrages Ausgabe des Betrages in der Ausgangswährung und der umgerechneten Zuerst wird der Betrag eingegeben und durch die Auswahl des entsprechenden Radiobuttons wählt man die derzeitige und die umzurechnende Währung aus. Der Euro wird mit Dollarbetrag * Dollarkurs berechnet und der Dollar durch Eurobetrag * Eurokurs. Wenn der Dollarkurs 0,6666 $ beträgt, so sind 100 gleich 66,66 $. Durch die Berechnung des Kehrwertes erhält man den Eurokurs von 1,5. So sind 100 $ gleich 150 Petra Treubel Seite 16

17 4.4.3 Umsetzung in PHP Zuerst wird das Formular im HTML-Dokument waehrungseingabe.html eingetragen. <html> <head> <title>waehrungsrechner</title> </head> <body> <h4> Waehrungsrechner: Eingabeformular </h4> <form action="./waehrungsrechner.php" method="get"> Dollarkurs:<input type="text" name="dollarkurs" value= "0.6666"> <input type="radio" name="umrechnung" value=" " checked> $ --> <br> <input type="radio" name="umrechnung" value="$"> --> $ <br> Betrag:<input type="text" name="betrag" size="10"><br><br> <input type="submit" name="gesendet" value="berechnen"> <br> </form> </body> </html> Für den Radiobutton erhält das Name-Werte-Paar den Namen "umrechnung" und je nach Wahl der Benutzers ist der Wert " " oder "$". Im PHP-Skript waehrungsrechner.php wird der Wert von umrechnung der Variablen $art übergeben und in der Bedingung wird überprüft, ob der Wert gleich " " ist. Falls dies nicht der Fall ist, muss $art den Wert "$" haben. Allerdings braucht dies nicht mehr extra überprüft zu werden. Falls die Bedingung true ist, soll der Dollar in Euro mit dem Dollarkurs umgerechnet werden und sonst der Euro in Dollar mit dem Eurokurs. Der Dollarkurs ist im value-parameter des Eingabefeldes mit voreingestellt. Durch Berechnung des Kehrwertes erhält man den Eurokurs <?php // Variablendeklaration: $art = $_GET['umrechnung']; $betrag = $_GET['betrag']; $dollarkurs = $_GET['dollarkurs']; $ergebnis = 0.0;?> // Berechnungen: if($art == " ") { $ergebnis = $betrag * $dollarkurs; echo "Die Umrechnung von $betrag $ ergibt $ergebnis!"; else { $ergebnis = $betrag * (1 /$dollarkurs); echo "Die Umrechnung von $betrag ergibt $ergebnis $!"; Petra Treubel Seite 17

18 4.5 Selbstverweis Einführung Es ist auch möglich in einem PHP-Skript das Formular und den Berechnungsalgorithmus zu integrieren. Die entsprechende Datei wird dann vom Client angefordert und mit Formulardaten an den Server geschickt. Beim Anfordern wird dann im action-parameter angegeben, dass der Browser die gleiche Datei wieder anfordert. So wäre das Formular zur erneuten Berechnung vorhanden. Man könnte dafür den jeweiligen Dateinamen einfügen oder sich der globalen Servervariablen $_SERVER bedienen. Dies ist ein assoziatives Array (Tabelle), in der allgemeine Informationen zum Client und zum Server gespeichert sind. Über echo $_SERVER [ ' PHP_SELF ' ] erhält man den relativen Pfad von localhost oder dem Domainnamen aus gesehen des aufgerufenen Skriptes. Beispiel: /workspace/buchaufgabenloesungen/waehrungsrechner.php Wenn diese Anweisung hinter den action-parameter in PHP-Tags verpackt eingesetzt wird, müssen wir uns nicht mehr um den Dateinamen kümmern. Beispiel: <form action= "<php? echo $_SERVER['PHP_SELF']?>" method = Es muss dann noch eine Bedingung hinzugefügt werden, um die Berechnung und die Ausgabe der leeren Ergebnisse zu verhindern. Dafür benutzt man die Funktion isset( variable ), die überprüft, ob die als Attribut übergebene Variable vorhanden ist. Ist die Variable vorhanden gibt die Funktion true zurück, wenn nicht false. Wir überprüfen, ob irgendeines der Name-Werte-Paare des Formulars vorhanden ist. Es würde sich hier der Submit-Button anbieten, der auch als Name-Werte-Paar übertragen wird. Beispiel: if ( isset ( $_GET['gesendet']) ) oder if ( isset ( $_GET['gesendet'] ) == true ) Folgende Eingabefelder sind im HTML-Teil vorhanden. Die Radiobuttons erhalten den gleichen Namen, da nur einer von beiden aktiviert sein kann und dann der entsprechende Wert (value) übertragen wird. <input type="text" name="dollarkurs" > <input type="radio" name="umrechnung" value=" " checked > <input type="radio" name="umrechnung" value="$" > <input type="text" name="betrag" > <input type="submit" name="gesendet" value="berechnen" > Für das oben benutzte Formular hätten wir folgende Name-Werte-Paare (ohne Leerzeichen!!!), wobei die Werte in Abhängigkeit der Eingaben des Benutzers sind:? dollarkurs= & umrechnung=%24 & betrag=1000 & gesendet=berechnen Dabei muss man beachten, dass die Name-Werte-Paare noch vor dem Abschicken verändert werden. So wird ein eingegebenes Leerzeichen zu einem + und ein zu %80, ein $ zu %24. Dieses Verhalten (URL-Kodierung) ist notwendig, da es bestimmte Zeichen gibt, die in einer URL nicht darstellbar sind und verändert werden müssen. (Vergleiche ) Petra Treubel Seite 18

19 4.5.2 Anforderung an das Programm und Algorithmus Das PHP-Skript soll folgende Anforderung erfüllen: Formulareingabe des Betrages Auswahl der gewünschten Währung mittels Radio-Button Umrechnung des Betrages Ausgabe des Betrages in der Ausgangswährung und des umgerechneten Betrages mit Aufbau des Eingabeformulars Wenn die Bedingung "$_GET['gesendet'] vorhanden" false ist, wird keine Anweisung mehr ausgeführt und der Programmierteil ist beendet. Unabhängig vom Selbstverweis ist noch eine weitere Variante in die Lösung aufgenommen worden. Das Ergebnis wurde unmittelbar nach der Berechnung der Variablen $text zugewiesen. Diese Variable $text wird nach der zweiten Verzweigung ausgegeben. Auf diese Art und Weise hat der Programmierer die Möglichkeit beliebige Ausgabetexte zusammenzusetzen und am Ende auszugeben. Petra Treubel Seite 19

20 4.5.3 Umsetzung in PHP Die Lösung in waehrungsrechner_self.php: <html> <head> <title>waehrungsrechner mit Formular</title> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="get"> Dollarkurs: <input type="text" name="dollarkurs" value= "0.6666" > <br><br> <input type="radio" name="umrechnung" value="$" checked> $ --> <br> <input type="radio" name="umrechnung" value=" "> --> $ <br><br> Betrag: <input type="text" name="betrag"> <br><br> <input type="submit" name="gesendet" value="berechnen"> <br><br> </form> <?php // Wenn eine Variable $_GET['gesendet'] vorhanden ist if(isset($_get['gesendet'])){ $umrechnungsart = $_GET['umrechnung']; $betrag = $_GET['betrag']; $dollarkurs = $_GET['dollarkurs']; $ergebnis = 0.0; $text = ""; // Berechnungen: if($umrechnungsart == "$"){ $ergebnis = $betrag * $dollarkurs; $text = "Die Umrechnung von $betrag $ ergibt $ergebnis!"; else{ $ergebnis = $betrag * (1 /$dollarkurs); $text = "Die Umrechnung von $betrag ergibt $ergebnis $!"; // Ausgabe des Ergebnisses echo $text;?> </body> </html> Der Ablauf des Skriptes ist im Wesentlichen gleich geblieben. Allerdings gibt es jetzt zwei PHP-Teile im Skript. Innerhalb eines PHP-Skriptes kann es so viele PHP-Teile zwischen dem HTML-Code geben, wie nötig. Es ist zu beachten, dass die Verzweigung, die als Bedingung isset() enthält, nur einen Then-Zweig hat. Das bedeutet, dass keinerlei Berechnungen oder Ausgaben im unteren PHP-Teil gemacht werden, wenn der Berechnen-Button nicht gedrückt wurde, bzw. die Variable $_GET['gesendet'] nicht enthalten ist. Petra Treubel Seite 20

21 4.6 Logische Operatoren Einführung Um komplexere Bedingungen formulieren zu können, gibt es die logischen Operatoren. Mit den logischen Operatoren ist es möglich zwei Bedingungen zusammen zu setzen. So kann zum Beispiel ermitteln werden, ob eine Zahl zwischen zwei Werten liegt: Hier wird geprüft, ob die Variable $zahl einen Wert enthält, der zwischen 1 und 10 (einschließlich) liegt. Es gibt die logische Und-Verknüpfung und die logische Oder-Verknüpfung. In den unten angegebenen Tabellen sind die daraus entstehenden Wahrheitswerte angegeben. Bedingung 1 (links) Bedingung 2 (rechts) Und-Verknüpfung true true true true false false false true false false false false Tabelle: Wahrheitswerte der Und-Verknüpfung && Bedingung 1 (links) Bedingung 2 (rechts) Oder-Verknüpfung true true true true false true false true true false false false Tabelle: Wahrheitswerte der Oder-Verknüpfung Darüberhinaus ist es auch möglich einen Wahrheitswert ins Gegenteil zu kehren. Beispiel: if (! ( $zahl > 0 && $zahl <= 10 ) ) Würde die zusammengesetzte Bedingung true ergeben, würde durch den!-operator ein false daraus und umgekehrt. Man beachte, dass hier allerdings Klammern gesetzt werden müssen, weil sonst durch die Operatoren-Reihenfolge die 1. Bedingung negiert wird.! bindet stärker als && und && bindet stärker als (Vergleiche ) Anforderung an das Programm und Algorithmus Im ersten Schritt unserer Webanwendung haben wir einen festen Zinssatz implementiert. Die Bank wünscht sich jedoch nun, dass je nach Kapitalhöhe der Zinssatz variiert. Das PHP-Skript soll folgende Anforderung erfüllen: Formulareingabe des Anfangskapital Ermittlung des Zinssatzes anhang der Höhe des Anfangskapitals: Weniger als oder genau 2.500,00 wird der Jahreszinssatz von 3% verwendet, mehr als 2.500,00 und nicht mehr als 5.000,00 Jahreszinssatz von 3,2% mehr als 5.000,00 und nicht mehr als ,00 Jahreszinssatz von 3,4% mehr als ,00 und nicht mehr als ,00 Jahreszinssatz von 3,6% und mehr als ,00 ein Jahreszinssatz von 3,8% Berechnung der Verzinsung für ein Jahr Ausgabe des Anfangskapitals und des verzinsten Kapitals Petra Treubel Seite 21

22 Petra Treubel Seite 22

23 4.6.3 Umsetzung in PHP <html> <head> <title>verzinssatz mit variablem Zinssatz</title> </head> <body> <h4> Endkapitalberechnung: Eingabeformular</h4> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="get"> Anfangskapital: <input type="text" name="anfangkap" size="10"> <br /> <input type="submit" name="gesendet" value="berechnen"> <br /> </form> <?php if(isset($_get['gesendet'])){ $anfangskapital = $_GET['anfangkap']; $zinssatz = 0.0; $endkapital = 0; if($anfangskapital <= 2500){ $zinssatz = 3.0; if($anfangskapital > 2500 && $anfangskapital <= 5000){ $zinssatz = 3.2; if($anfangskapital > 5000 && $anfangskapital <= 10000){ $zinssatz = 3.4; if($anfangskapital > && $anfangskapital <= 15000){ $zinssatz = 3.6; if($anfangskapital > ){ $zinssatz = 3.8; $endkapital = $anfangskapital+($anfangskapital * $zinssatz/100);?> // Ergebnis ausgeben: echo "Anfangskapital: ". $anfangskapital. " <br>"; echo "Angebotener Zinssatz: ". $zinssatz. "%<br>"; echo "Endkapital nach einem Jahr: ". $endkapital. " <br>"; </body> </html> Petra Treubel Seite 23

24 4.7 Fallunterscheidung Einführung Möchte man abhängig vom Wert einer Variablen eine bestimmte Anweisung ausführen, könnte dies mit einer mehrfachverschachtelten Verzweigung realisiert werden. Allerdings gelingt dies mit Hilfe eine Fallunterscheidung (switch-case) viel eleganter. Hier wird der Wert einer Variablen, die vorher angegeben werden muss, überprüft. Dies kann eine ganze Zahl, ein einzelnes Zeichen oder eine Zeichenkette sein. Wobei man beachten muss, dass "alfred" nicht gleich "Alfred" ist und "g" nicht gleich "G". Gleitkommazahlen sind auch nicht unbedingt geeignete Datentypen. switch ( variable ){ case wert 1: anweisung 1; break; case wert n: anweisung n-1; break; default: anweisung n; anweisung n+1 Der Wert der Variablen wird mit den direkt hinter dem case stehenden Werten verglichen. Sollte ein Wert gleich sein, wird die entsprechende Anweisung ausgeführt. Das break muss angegeben werden, da sonst alle Anweisungen, die in den anderen case-blöcken stehen, auch ausgeführt werden. Selbst die Anweisung/en im default-block werden ausgeführt. Fehlerhaftes Beispiel ohne break: switch($zinssatz){ case 4: echo "Zinssatz ist 4<br>"; case 5: echo "Zinssatz ist 5<br>"; case 6: echo "Zinssatz ist 6<br>"; default: echo "weder noch...<br>"; Petra Treubel Seite 24

25 So könnte man eine Anweisung für verschiedene Fälle ausführen lassen, ohne das die Anweisung mehrfach angegeben werden muss Anforderung an das Programm und Algorithmus Unser Jahreszinsrechner soll um ein Feature erweitert werden. Es soll eine Jahreszinsberechnung für ein Festgeldkonto implementiert werden. So gibt es je nach Bindung verschiedene Jahres-Zinssätze, die für die Berechnung benutzt werden sollen. Das PHP-Skript soll folgende Anforderung erfüllen: Formulareingabe des Anfangskapital Auswahl einer Kapitalbindung in Jahren (1 Jahr 3,5%, 2 Jahre 4% und 3 Jahre 5%) über ein Auswahlfeld Berechnung der Verzinsung für ein Jahr mittels des Zinssatzes in Abhängigkeit zur Kapitalbindung Ausgabe des Anfangskapitals und des verzinsten Kapitals Für die Berechnung des Endkapitals könnte man die Gleichung = vereinfachen. Das Anfangskapital kann mit 1 multipliziert werden, ohne dass sich das Ergebnis der Berechnung verändert. So erhält man = Danach könnte das Anfangskapital einfach ausgeklammert werden: = ( ) Petra Treubel Seite 25

26 Je nachdem, welcher Eintrag aus der Auswahlliste markiert wird, wird der im value-attribut angegebene Wert übertragen. Wählt man "2 Jahre" aus, ist das Name-Werte-Paar: laufzeit=2. In der Fallunterscheidung wird dann genau dieser Wert überprüft. In PHP (im Gegensatz zu "richtigen" Programmiersprachen) macht es keinen Unterschied, ob man case 2 oder case "2" angibt. Petra Treubel Seite 26

27 4.7.3 Umsetzung in PHP <html> <head> <title>festgeldkonto</title> </head> <body> <h4> Festgeldkonto: Eingabeformular</h4> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="get"> Anfangskapital: <input type="text" name="anfangkap" size="10"> <br /> Gewünschte Laufzeit, in der das Kapital gebunden ist: <select name="laufzeit" size="1"> <option value="1" >1 Jahr</option> <option value="2" >2 Jahre</option> <option value="3" >3 Jahre</option> </select> <br /> <input type="submit" name="gesendet" value="berechnen"> <br /> </form> <?php // Variablen deklararien und Werte zuweisen. if(isset($_get['gesendet'])){ $anfangskapital = $_GET['anfangkap']; $laufzeit = $_GET['laufzeit']; $zinssatz = 0; $endkapital = 0; switch($laufzeit){ case "1": $zinssatz = 3.5; break; case "2": $zinssatz = 4; break; case "3": $zinssatz = 5; break; default: echo "Sie haben keine Laufzeit ausgewählt!<br>"; // Zinsen auf das Anfangskapital addieren: $endkapital = $anfangskapital * (1 + $zinssatz / 100); // Ergebnis ausgeben: echo "Anfangskapital: ". $anfangskapital. " <br>"; echo "Angebotener Zinssatz: ". $zinssatz. "%<br>"; echo "Endkapital nach einem Jahr: ". $endkapital. " <br>";?> </body> </html> Petra Treubel Seite 27

28 4.8 Schleifen Wenn eine bestimmte Berechnung mehrmals hintereinander ausgeführt werden soll, wäre es unpraktisch, wenn 10- oder 20-mal die gleiche Berechnung im PHP-Code angegeben werden müsste. Dafür gibt es Schleifen. Beispiel ohne Schleife: $summe = 0; $summe = $summe + 1; $summe = $summe + 2; $summe = $summe + 3; $summe = $summe + 4;... $summe = $summe + 10; echo "Die Summe aller Zahlen zwischen 1 und 10 ist ". $summe; Eine Schleife besteht immer aus einer Bedingung, die die Häufigkeit der Durchläufe steuert, und einem Schleifenkörper, in dem die zu wiederholenden Anweisungen enthalten sind. Je nachdem, ob die Bedingung vor oder hinter dem Schleifenkörper steht, unterscheidet man zwischen abweisender und nicht abweisender Schleife Abweisende (kopfgesteuerte) Schleifen Bei der abweisenden Schleife entscheidet die Bedingung, ob der Schleifenkörper kein-, ein- oder mehrmals ausgeführt wird. Bedingung true Anweisung 1 false while ( bedingung ){ anweisung 1; anweisung 2; Anweisung 2 Wenn die Bedingung true ist, wird Anweisung 1 ausgeführt, danach wird die Bedingung erneut überprüft. Dieser Vorgang wiederholt sich, solange die Bedingung true ist. Ist die Bedingung false, wird der Programmablauf mit der Ausführung von Anweisung 3 fortgesetzt. Beispiel mit kopfgesteuerter Schleife: $summe = 0; $nummer = 1; while( $nummer < 11){ $summe = $summe + $nummer; $nummer = $nummer + 1; echo "Die Summe aller Zahlen zwischen 1 und 10 ist ". $summe; Eine Sonderform der kopfgesteuerten Schleife ist die for-schleife. Diese enthält einen eingebauten "Zahlmechanismus", der sich besonders für Berechnung oder der Bearbeitung von Arrays eignet. Petra Treubel Seite 28

29 Beispiel: $summe = 0; for ( $nummer = 1; $nummer < 11; $nummer++ ){ $summe = $summe + $nummer; echo "Die Summe aller Zahlen zwischen 1 und 10 ist ". $summe; Eine for-schleife enthält drei Teile durch Semikolon getrennt. Im ersten kann ein Anfangswert der Zählvariablen gesetzt werden. Im mittleren Teil wird die Bedingung angegeben, die true sein muss, damit der Schleifenkörper durchlaufen wird. Am Ende wird die Veränderung (Fortsetzung) benannt. Der Ausdruck $nummer++ ist identisch mit $nummer = $nummer + 1. Zuerst wird die Variable $nummer auf 1 gesetzt. Die Schleife beginnt mit der Prüfung, ob $nummer kleiner als 11 ist. Dies ist beim 1. Durchgang wahr. Die Anweisung im Schleifenkörper wird ausgeführt. Danach wird $nummer um 1 erhöht und die Bedingung wird erneut geprüft usw Nicht abweisende (fußgesteuerte) Schleifen Hier wird zuerst die Anweisung im Schleifenkörper ausgeführt und dann erst entscheidet die Bedingung, ob der Schleifenkörper nochmal ausgeführt wird. do{ anweisung 1; while ( bedingung ); anweisung 2; Auch bei der nicht abweisenden Schleife wiederholt sich der Vorgang, solange die Bedingung true ist. Ist die Bedingung false, wird der Programmablauf mit der Ausführung von Anweisung 3 fortgesetzt. Beispiel mit fußgesteuerter Schleife: $summe = 0; $nummer = 1; do{ $summe = $summe + $nummer; $nummer = $nummer + 1; while( $nummer < 11); echo "Die Summe aller Zahlen zwischen 1 und 10 ist ". $summe; Petra Treubel Seite 29

30 4.8.3 Anforderung an das Programm und Algorithmus Als ein Sachgebietsleiter der Bank sich die Berechnung des Endkapitals ansieht, vermisst er die Verzinsung der Zinsen, wenn Kapital länger als ein Jahr angelegt wird. Aus diesem Grunde soll die Berechnung um eine Zinseszinsberechnung erweitert werden. Das PHP-Skript soll folgende Anforderung erfüllen: Formulareingabe des Anfangskapital Formurlareingabe des Zinssatzes Formurlareingabe der Laufzeit Berechnung des Endkapitals K n nach n Jahren Ausgabe der Laufzeit und des verzinsten Kapitals In der Finanzwelt wird das Anfangskapital mit K 0 bezeichnet. Nach einer Periode wird die berechneten Zinsen dazu addiert und wir erhalten K 1 usw.. = (1+ ) 100 = (1+ ) = ( ) Petra Treubel Seite 30

31 Petra Treubel Seite 31

32 4.8.4 Umsetzung in PHP <html> <head> <title>zinseszinsberechnung</title> </head> <body> <h4> Zinseszins: Eingabeformular</h4> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="get"> Anfangskapital: <input type="text" name="kapital" size="10"> <br> Laufzeit: <input type="text" name="laufzeit" size="10"> in Jahren<br> Zinfuss: <input type="text" name="zinfuss" size="10"> %<br> <input type="submit" name="gesendet" value="berechnen"> </form> <?php if(isset($_get['gesendet'])){ $kapital = $_GET['kapital']; $laufzeit = $_GET['laufzeit']; $zinfuss = $_GET['zinfuss']; // Kapital berechnen for($i = 0;$i < $laufzeit; $i++){ $kapital = $kapital * (1 + $zinfuss/100); //Ergebnisse ausgeben printf("kapital nach $laufzeit Jahren: %.2f <br>",$kapital);?> </body> </html> Der Schleifenkörper wird genau zehnmal durchlaufen. Natürlich könnte man $i auch auf 1 setzen und die Bedingung müsste dann $i <= $laufzeit lauten. Die Funktion printf() erlaubt eine formatierte Ausgabe von Variablen. Der Platz der Variablen wird durch das Prozentzeichen innerhalb der Zeichenkette angegeben. Die Variable wird durch Komma getrennt als Attribut übergeben. Beispiel: $z1 = 33; $z2 = 3; $erg = 0.0; printf( "Das Ergebnis von %d geteilt durch %d ist %.3f", $z1, $z2, $erg ); Petra Treubel Seite 32

33 5. Funktionsreferenz 5.1 Mathematische Funktionen Funktion float floor ( float $value ) float ceil ( float $value ) number pow ( number $base, number $exp ) float sqrt ( float $arg ) 5.2 Stringfunktionen Funktion int printf ( string $format [, mixed $args [, mixed $... ]] ) string number_format ( float $number [, int $decimals ] ) string number_format ( float $number, int $decimals, string $dec_point, string $thousands_sep ) string htmlentities ( string $string ) string html_entity_decode ( string $string ) array explode ( string $delimiter, string $string [, int $limit ] ) string implode (string $delimiter, array $pieces ) Beschreibung Abrunden von $value Aufrunden von $value Potenz von $base hoch $exp wird berechnet Berechnet die Quadratwurzel von $arg Beschreibung Gibt einen Ausdruck und Variablen formatiert aus Eine Fließkomma-Zahl wird auf $decimal- Nachkommastellen beschränkt Wie oben, aber auch das Trennzeichen für die Nachkommastellen und das Tausend kann angeben werden Wandelt alle Zeichen in HTML-Code um Konvertiert alle benannten HTML-Zeichen in ihre entsprechenden Ursprungszeichen Gibt ein Array aus Strings zurück Verbindet die Elemente eines Array mittels $delimiter zu einer Zeichenkette. 5.3 Datums- und Zeitfunktionen Funktion array getdate ([ int $Timestamp = time() ] ) int time ( void ) string date ( string $Format [, int $Timestamp ]) Beschreibung Gibt ein assoziatives Array mit Datums- und Zeitangaben zurück Gibt die Sekunden seit dem bis zum aktuellen Zeitpunkt zurück (UNIX-Timestamp) Formatiert einen angegebenen Zeitstempel oder das/die aktuelle Datum/Zeit 5.4 Sonstige Funktionen Funktion bool empty ( mixed $var ) bool is_numeric ( mixed $var ) bool isset ( mixed $var [, mixed $var [, $... ]]) void var_dump ( mixed $expression ) Beschreibung Prüft, ob eine Variable einen Wert enthält Achtung: 0, "", "0", null ergeben true Prüft, ob eine Variable eine Zahl oder ein numerischer String ist Prüft, ob eine Variable vorhanden und nicht null ist Gibt den Typ und Wert der angegebenen Variablen $expression aus Petra Treubel Seite 33

34 6. Übersicht 6.1 Operatoren Arithmetische Operatoren Operator Beschreibung Beispiel + Addition $zahl = 7 + 3; // $zahl hat den Wert 10 - Subtraktion $zahl = // $zahl hat den Wert -4 * Multiplikation $zahl = 3 * 9; // $zahl hat den Wert 27 / Division $zahl = 9 / 3 // $zahl hat den Wert 3 % Modulo (Restwert) $zahl = 9 % 2 // $ zahl hat den Wert Positives und negatives Vorzeichen $neuezahl = - $zahl // $neuezahl hat den Wert Zuweisungsoperator Operator Beschreibung Beispiel = Einfache Zuweisung $x = 77; += Additionszuweisung $x += 3; // ist 80, Wert von $x ist 80 -= Subtraktionszuweisung $x -= 30; // 80 minus 30 ist 50 *= Multiplikationszuweisung $x *= 3; // 50 * 3 ist 150 %= Modulozuweisung $x = 20; // 150 / 20 = 7 Rest 10, Wert ist 10 /= Divisionszuweisung $x = 5; // 10 / 5 ist 2.= Zeichenkettenzuweisung $text = "Hallo"; $text.= "Welt"; // $text hat den Wert "Hallo Welt" Vergleichsoperatoren Operator Beschreibung Beispiel == Vergleich auf Gleichheit $a == $b gibt true, wenn $a und $b gleiche Werte haben!= Vergleich auf Ungleichheit $a!= $b gibt true, wenn beide ungleich sind <> (siehe oben) < Kleiner als $a < $b gibt true, wenn $a kleiner ist als $b <= Kleiner gleich $a <= $b gibt auch true, wenn beide gleich sind oder $a kleiner ist als $b > Größer als $a > $b gibt true, wenn $ a größer als $b ist >= Größer gleich $a >= $b gibt auch true, wenn beide gleich sind oder $a größer als $b ist === Strikte Gleichheit Operanden müssen den gleichen Wert UND den gleichen Datentyp besitzen Logische Operatoren Operator Beschreibung Beispiel && Logisches Und Logisches Oder! Logisches Nicht xor Exklusives Oder (Entweder-Oder) Petra Treubel Seite 34

35 6.1.5 Sonstige Operatoren Operator Beschreibung Beispiel ++ Inkrement-Operator $zahl++, erhöht den Wert von $zahl um 1, ++$zahl, erhöht den Wert von $zahl um 1 Unterschied nur bei gleichzeitiger Zuweisung oder weiteren Berechnungen -- Dekrement-Operator $zahl--, verringert den Wert von $zahl um 1, --$zahl, verringert den Wert von $zahl um 1 (Unterschied siehe oben). String-Operator $text = "Hallo ". "Welt"; Verknüpft zwei Zeichenketten miteinander 6.2 Sonstiges Globale Servervariablen Die Superglobals, auch globale Servervariablen genannt, sind eingebaute (built-in) Variablen, die in jedem PHP-Skript ansprechbar und verwendbar sind. Man unterscheidet: $GLOBALS Assoziatives Array, dass alle global gespeicherten Variablen enthält $_SERVER Enthält Informationen zum Server und zur Laufzeitumgebung $_GET Enthält alle URL-Parameter $_POST Enthält alle Post-Parameter $_FILES Enthält alle Infos zu per Skript hochgeladenen Elementen $_COOKIE Enthält alle gesetzten Cookie-Variablen $_SESSION Enthält alle gesetzten Session-Variablen $_ENV Enthält Variablen der Lauzeitumgebung (z. B. Path, OS unter Win XP) $_REQUEST Enthält alle get-, post-, cookie-variablen $_SERVER-vordefinierte Schlüssel (engl. keys) Array-Schlüssel PHP_SELF HTTP_USER_AGENT HTTP_REFERER REQUEST_METHOD REMOTE_ADDR SERVER_PORT Beschreibung Relativer Pfad mit Dateiname des ausgeführten PHP-Skriptes. Kennung des verwendeten Browsers, von dem die Anfrage kam. URI der vorangegangenen Webseite Methode der Anfrage IP-Adresse des Anfragers Verwendeter Port des Servers Mathematische Konstanten Konstante Beschreibung Wert M_PI (pi) M_E e (Eulersche Zahl) M_LOG2E Log 2 e M_LOG10E Log 10 e M_LN2 Log e M_LN10 Log e M_SQRT M_SQRT1_2 1 / Petra Treubel Seite 35

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

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

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

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

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

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

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

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

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

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

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

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

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

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

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

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

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

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

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

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

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden? Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden? Anforderung Durch die Bearbeitung einer XML-Datei können Sie Ihre eigenen Dokumentationen (z.b. PDF-Dateien, Microsoft Word Dokumente

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

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

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

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

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

Ü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

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

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

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

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

Herzlich willkommen im Modul Web-Engineering

Herzlich willkommen im Modul Web-Engineering Herbst 2014 Herzlich willkommen im Modul Web-Engineering Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Martin Hüsler und Rainer Telesko

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

ecall sms & fax-portal

ecall sms & fax-portal ecall sms & fax-portal Beschreibung des Imports und Exports von Adressen Dateiname Beschreibung_-_eCall_Import_und_Export_von_Adressen_2015.10.20 Version 1.1 Datum 20.10.2015 Dolphin Systems AG Informieren

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

Formulare & Zähler. Erstellen von Formularen & Zählern mit FrontPage- oder ASP-Erweiterungen ZUGEHÖRIGE INFORMATIONEN

Formulare & Zähler. Erstellen von Formularen & Zählern mit FrontPage- oder ASP-Erweiterungen ZUGEHÖRIGE INFORMATIONEN Formulare & Zähler Erstellen von Formularen & Zählern mit FrontPage- oder ASP-Erweiterungen ZUGEHÖRIGE INFORMATIONEN Ziel des vorliegenden Dokumentes ist es, einer mit Internet vertrauten Person zu ermöglichen,

Mehr

PhPepperShop Modul Remarketing. Datum: 13. September 2013 Version: 1.2. Warenkorb Wiederherstellung. Bestellabbruch Benachrichtigung.

PhPepperShop Modul Remarketing. Datum: 13. September 2013 Version: 1.2. Warenkorb Wiederherstellung. Bestellabbruch Benachrichtigung. PhPepperShop Modul Remarketing Datum: 13. September 2013 Version: 1.2 Warenkorb Wiederherstellung Bestellabbruch Benachrichtigung X Glarotech GmbH Inhaltsverzeichnis 1. Einleitung...3 2. Installation...3

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

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

ASA Schnittstelle zu Endian Firewall Hotspot aktivieren. Konfiguration ASA jhotel

ASA Schnittstelle zu Endian Firewall Hotspot aktivieren. Konfiguration ASA jhotel ENDIAN DISTRIBUTOR ASA Schnittstelle zu Endian Firewall Hotspot aktivieren Konfiguration ASA jhotel ASA jhotel öffnen Unter den Menüpunkt Einrichtung System System Dort auf Betrieb Kommunikation Internet-Zugang

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

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

Online-Publishing mit HTML und CSS für Einsteigerinnen

Online-Publishing mit HTML und CSS für Einsteigerinnen mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Grundlagen Frau erfahrt, wie das Internet aufgebaut ist, aus welchen

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

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

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen Als ersten Schritt müssen wir alle Fotos die in die Galerie sollen hochladen. Wir gehen davon aus, dass das Plugin PWGallery bereits installiert und

Mehr

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 Die Installation der FuxMedia Software erfolgt erst NACH Einrichtung des Netzlaufwerks! Menüleiste einblenden, falls nicht vorhanden Die

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

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

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

3. Baumstrukturen. 3.1 Dateien und Ordner

3. Baumstrukturen. 3.1 Dateien und Ordner bertram.hafner@t-online.de Informatik 7 Seite 1 3. Baumstrukturen 3.1 Dateien und Ordner Schreibe einen kurzen Text und speichere ihn ab. Verändere den Text und speichere ihn unter einem neuen Namen ab.

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

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

Java Webentwicklung (mit JSP)

Java Webentwicklung (mit JSP) Java Webentwicklung (mit JSP) SEW(3.Jg) Unterlagen zu Java Server-Pages Teil 1 Inhalt 1 Zielsetzung... 1 2 Webprojekt mit Netbeans... 2 2.1 Webprojekt erstellen... 2 2.1.1 Neues Projekt... 2 2.2 Aufbau

Mehr

STRATO Mail Einrichtung Mozilla Thunderbird

STRATO Mail Einrichtung Mozilla Thunderbird STRATO Mail Einrichtung Mozilla Thunderbird Einrichtung Ihrer E-Mail Adresse bei STRATO Willkommen bei STRATO! Wir freuen uns, Sie als Kunden begrüßen zu dürfen. Mit der folgenden Anleitung möchten wir

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

BENUTZERHANDBUCH für. www.tennis69.at. Inhaltsverzeichnis. 1. Anmeldung. 2. Rangliste ansehen. 3. Platzreservierung. 4. Forderungen anzeigen

BENUTZERHANDBUCH für. www.tennis69.at. Inhaltsverzeichnis. 1. Anmeldung. 2. Rangliste ansehen. 3. Platzreservierung. 4. Forderungen anzeigen BENUTZERHANDBUCH für www.tennis69.at Inhaltsverzeichnis Einleitung 1. Anmeldung 2. Rangliste ansehen 3. Platzreservierung 4. Forderungen anzeigen 5. Forderung eintragen 6. Mitgliederliste 7. Meine Nachrichten

Mehr

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert

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

Man unterscheidet zwischen LAN (Local Area Network) und WAN (Wide Area Network), auch Internet genannt.

Man unterscheidet zwischen LAN (Local Area Network) und WAN (Wide Area Network), auch Internet genannt. Netzwerk Ein Netzwerk wird gebildet, wenn mehrere Geräte an einem Switch mit Netzwerkkabeln angeschlossen werden. Dabei können die einzelnen Geräte miteinander kommunizieren und über ein Netzwerkprotokoll

Mehr

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40 CAP-News 40 CAP-News ist in unrägelmäßigen Abständen erscheinende Information zum Produktkonfigurator CAP/VARIANTS. Hier werden die neuen Befehle, Funktionen und Möglichkeiten beschrieben. In CAP-News

Mehr

Customer and Project Services. Teilnehmerunterlagen Aktivitäten

Customer and Project Services. Teilnehmerunterlagen Aktivitäten Customer and Project Services Teilnehmerunterlagen Aktivitäten Inhalt 1.1 Grundsätzliche Unterschiede Termin/Job 1.2 Anlage eines neutralen Termins aus dem Kalender 1.3 Verknüpfung mit einem Projekt/Kunde

Mehr

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten! Mathefritz 5 Terme und Gleichungen Meine Mathe-Seite im Internet kostenlose Matheaufgaben, Skripte, Mathebücher Lernspiele, Lerntipps, Quiz und noch viel mehr http:// www.mathefritz.de Seite 1 Copyright

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

HTML Formulare. Benutzerschnittstelle für interaktive Webseiten

HTML Formulare. Benutzerschnittstelle für interaktive Webseiten 1 HTML Formulare Benutzerschnittstelle für interaktive Webseiten Literatur und Links 2 Literatur: Coar, Ken; Bowen, Rich: Apache-Kochbuch. 2004 HTML: kein Buch oder irgend eins für Einsteiger, z. B. Münz,

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

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

Anbindung des eibport an das Internet

Anbindung des eibport an das Internet Anbindung des eibport an das Internet Ein eibport wird mit einem lokalen Router mit dem Internet verbunden. Um den eibport über diesen Router zu erreichen, muss die externe IP-Adresse des Routers bekannt

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Einführung in das Arbeiten mit MS Excel. 1. Bearbeitungs

Einführung in das Arbeiten mit MS Excel. 1. Bearbeitungs Einführung in das Arbeiten mit MS Excel 1. Bildschirmaufbau Die Tabellenkalkulation Excel basiert auf einem Rechenblatt, das aus Spalten und Zeilen besteht. Das Rechenblatt setzt sich somit aus einzelnen

Mehr

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

P&P Software - Adressexport an Outlook 05/29/16 14:44:26 Adressexport an Outlook Wozu? Aus EASY können viele Daten im Excelformat ausgegeben werden. Diese Funktion kann zum Beispiel zum Export von Lieferantenadressen an Outlook genutzt werden. Hinweis Wir können

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

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

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

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

Inhaltsverzeichnis Seite

Inhaltsverzeichnis Seite Inhaltsverzeichnis Seite 1. Email mit Anhang versenden 2 1.a Email vorbereiten und zweites Fenster (Tab) öffnen. 2 1. b. Bild im Internet suchen und speichern. 3 1.c. Bild als Anlage in Email einbinden

Mehr

Internationales Altkatholisches Laienforum

Internationales Altkatholisches Laienforum Internationales Altkatholisches Laienforum Schritt für Schritt Anleitung für die Einrichtung eines Accounts auf admin.laienforum.info Hier erklären wir, wie ein Account im registrierten Bereich eingerichtet

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

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

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

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr

Mehr

Synchronisations- Assistent

Synchronisations- Assistent TimePunch Synchronisations- Assistent Benutzerhandbuch Gerhard Stephan Softwareentwicklung -und Vertrieb 25.08.2011 Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent

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

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

Demopaket FDFsolutions für Windows, Version 1.73, Voraussetzungen & Installation. (Stand 25.07.2005)

Demopaket FDFsolutions für Windows, Version 1.73, Voraussetzungen & Installation. (Stand 25.07.2005) Demopaket FDFsolutions für Windows, Version 1.73, Voraussetzungen & Installation. (Stand 25.07.2005) 1.) Systemvoraussetzungen: PC mit Betriebssystem Microsoft Windows (ab Version 98 SE oder neuer, empfohlen

Mehr

Wie funktioniert das WWW? Sicher im WWW

Wie funktioniert das WWW? Sicher im WWW Wie funktioniert das WWW? Sicher im WWW Der normale Aufruf 1. Browserprogramm starten 2. Adresse eintippen, z.b. : ich-hab-doch-nichts-zu-verbergen.de 3. Der Browser ändert die Adresse auf: http://ich-hab-doch-nichts-zu-verbergen.de/

Mehr

Stammdatenanlage über den Einrichtungsassistenten

Stammdatenanlage über den Einrichtungsassistenten Stammdatenanlage über den Einrichtungsassistenten Schritt für Schritt zur fertig eingerichteten Hotelverwaltung mit dem Einrichtungsassistenten Bitte bereiten Sie sich, bevor Sie starten, mit der Checkliste

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

Bedienungsanleitung Rückabwicklungsrechner

Bedienungsanleitung Rückabwicklungsrechner 1 Eingaben Zelle C2 Auszahlungsbetrag Hier muss der erste Auszahlungsbetrag eingegeben werden. Weitere Auszahlungen siehe Weiter unten. Zelle C3 Zeitpunkt der Auszahlung Datum der ersten Auszahlung Zelle

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

HTBVIEWER INBETRIEBNAHME

HTBVIEWER INBETRIEBNAHME HTBVIEWER INBETRIEBNAHME Vorbereitungen und Systemvoraussetzungen... 1 Systemvoraussetzungen... 1 Betriebssystem... 1 Vorbereitungen... 1 Installation und Inbetriebnahme... 1 Installation... 1 Assistenten

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Dateiname: ecdl5_01_02_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Access

Mehr

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2) 14. URIs Uniform Resource Identifier 14-1 14. URIs Uniform Resource Identifier 14-2 Motivation Das WWW ist ein Hypermedia System. Es enthält: Resourcen (Multimedia Dokumente) Verweise (Links) zwischen

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

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