Prof. Mag. Peter Micheuz Bernhard Hoisl

Größe: px
Ab Seite anzeigen:

Download "Prof. Mag. Peter Micheuz peter.micheuz@aon.at. Bernhard Hoisl bernhard.hoisl@wu-wien.ac.at"

Transkript

1 Interaktives Web Prof. Mag. Peter Micheuz Bernhard Hoisl Mi, Uhr Do, Uhr Mi, Do, Interaktives Web 1 Inhalt Einführung - Big Picture Einführung in die Struktur des Internets Client-Server Prinzipien anhand HTTP-Protokoll Das System XAMPP HTML-Grundlagen Verwendung von CSS Die Scriptsprache PHP In Verbindung mit JavaScript Einführung in die Abfragesprache SQL Modellierung datenbankbasierter Probleme Praxisbeispiele Weblog Schuldatenbank Diashow Umfrage Mi, Do, Interaktives Web 2 1

2 Vorwissen Umfrage Mi, Do, Interaktives Web 3 Big Picture Internet Informations- und Kommunikationsmedium Unüberschaubare Informationsanzahl Strukturierung der Informationen Statik --> Dynamik Client/Server-Prinzip Simulation von Client + Server Installieren + Konfigurieren eines lokalen Servers Kennenlernen spezieller Tools z.b. Server Log-File Auswertung Verstehen von technischen Hintergrundinformationen Mi, Do, Interaktives Web 4 2

3 Big Picture Bereitstellen von Informationen Per FTP, Einrichten eines FTP-Servers Statisch HTML Seiten erstellen Cascading Style Sheets (CSS) Dynamisch Einbinden von JavaScript PHP Seiten erstellen Datenbankanbindung Strukturieren von Informationen Modellierung datenbankbasierter Problemstellungen Erzeugen geeigneter Strukturen Datenbankadministration Evtl. Einrichten eines Mail-Server Praktische Beispiele zu allen Bereichen Mi, Do, Interaktives Web 5 Big Picture Quelle: mediaresearch.orf.at Mi, Do, Interaktives Web 6 3

4 Big Picture Quelle: mediaresearch.orf.at Mi, Do, Interaktives Web 7 Big Picture Quelle: mediaresearch.orf.at Mi, Do, Interaktives Web 8 4

5 Big Picture Quelle: mediaresearch.orf.at Mi, Do, Interaktives Web 9 Big Picture Quelle: mediaresearch.orf.at Mi, Do, Interaktives Web 10 5

6 Big Picture Quelle: mediaresearch.orf.at Mi, Do, Interaktives Web 11 Big Picture Quelle: Mi, Do, Interaktives Web 12 6

7 Big Picture Quelle: Mi, Do, Interaktives Web 13 Big Picture Quelle: Mi, Do, Interaktives Web 14 7

8 Big Picture Quelle: Mi, Do, Interaktives Web 15 Big Picture Quelle: Mi, Do, Interaktives Web 16 8

9 Geschichtlicher Abriss des Internets 1969: ARPAnet Advanced Research Project Agency 1975: TCP/IP-Protokolle 1983: ARPAnet MILNET: öffentlicher Teil d. DDN (Defense Data Network) Neues kleineres ARPAnet Geschwindigkeit: 56 kbit/s 1985: NSFnet (National Science Foundation) Anbindung an das Internet in seiner damaligen Form Neue Vision: Für Wissenschaftler + Forschung 1987: schnelleres Backbone-Netzwerk 1990: ARPAnet hört auf zu existieren 1995: NSFnet hat Rolle des primären Backbones Heute: Kommerzielle Provider (ISP), die Infrastruktur schaffen Mi, Do, Interaktives Web 17 Entstehung des WWW World Wide Web ist ein Dienst des Internets Weitere Dienste z.b. Dateitransfer (FTP), virtuelles Terminal (Telnet), (SMTP, POP, IMAP) etc. Von Tim Berners-Lee am CERN (Genf) 1989 entwickelt Server/Client Kommunikation: HTTP (HyperText Transfer Protocol) Adressierung über URIs (Uniform Ressource Identifier) Auszeichnungssprache HTML (HyperText Markup Language) Berners-Lee entwickelte auch 1. Webbserver W3-Konsortium (http://www.w3c.org) Unabhängiges Gremium für technische Standards im Web Recommendations (Empfehlungen) -> Verbindlichkeits-Charakter Mi, Do, Interaktives Web 18 9

10 Entstehung des WWW Webbrowser 1991: libwww (textbasiert), CERN 1992: Erwise, ViolaWWW, Midas (alle Unix), Samba (Mac) 1993: Mosaic (Unix, Mac) 1994: Opera, Mozilla 1995: Internet Explorer Heute Internet Explorer, Mozilla Firefox, Netscape, Opera, Safari, Konqueror etc. Quelle: Mi, Do, Interaktives Web 19 Struktur des Internets LAN: Local Area Network MAN: Metropolitan Area Network WAN: Wide Area Network Quelle: learn.wu-wien.ac.at Mi, Do, Interaktives Web 20 10

11 Struktur des Internets Dezentrale Struktur Jeder Knoten ist mit zwei order mehr Knoten verbunden (Maschennetz) TCP/IP-Protokolle (Transmition Control Protocol/Internet Protocol) IP: Definiert Aufbau von Verbindungen, routet Daten (IPv4, IPv6) etc. TCP: Bereitstellen von Datendiensten, Erstellen von Datenströmen aus Datenpaketen, Fehlerkorrektur etc. Maximale Länge eines IP-Pakets: 1500 Byte Quelle: learn.wu-wien.ac.at Mi, Do, Interaktives Web 21 Adressierung (IP-Protokoll) IP-Adressen Eindeutige Identifizierung eines Rechners Z.B , , , DNS (Domain Name System) Zuteilung von Hostnames zu IP-Adressen Nameserver (verteilte Datenbanken) speichern Zuteilungstabellen Nameserver hierarchisch angeordnet Root-Server (insg. 13, autoritativ Top-Level-Domains (.com,.org,.de,.at etc.) Adressierung 1 Rechners: Registrierung einer Domain innerhalb einer Top-Level-Domain FQDN: Fully Qualified Domain Name Mi, Do, Interaktives Web 22 11

12 Dienstnummer (TCP-Protokoll) Mehrere Dienste können auf einem Rechner laufen Adressierung über Dienstnummer (Port) HTTP: Port 80 FTP: Port 21/22 SMTP: Port 25 POP3: Port 110 Socket IP-Adresse + Dienstnummer + Transportprotokoll Somit weltweit eindeutige Identifizierung eines Dienstes möglich Mi, Do, Interaktives Web 23 Client-Server Quelle: learn.wu-wien.ac.at Mi, Do, Interaktives Web 24 12

13 HTTP-Protokoll URI (Uniform Ressource Identifier) Verweis auf Ort wo Dokument gespeichert ist (URL) oder Symbolischer Name für eine beliebige Ressource (URN) URL (Uniform Ressource Locator) Z.B. Protokoll: http Rechner: Dienstnummer: 80 Lokaler Pfad: /index.php Korrekte URL-Schreibweise wird vom HTTP-Protokoll vorausgesetzt <Protokoll>://<FQDN>:<Port>/<path>?<searchpath> Mi, Do, Interaktives Web 25 HTTP-Protokoll Anfragen vom Client zum Server -> Antwort vom Server zum Client HTTP-Meldungen Kopfteil Trennzeile Nutzdatenteil HTTP-Anfrage (Request) Kopfzeile (HTTP-Methode, Ressourcenbezeichner, HTTP-Version) Optionalen Anfrageparametern Nutzdatenteil (kann auch leer sein) HTTP-Antworten (Reply) Kopfzeile (unterstützte HTTP-Version, Status-Code und -Meldung) Optionalen Antwortparametern Nutzdatenteil (kann auch leer sein) Mi, Do, Interaktives Web 26 13

14 HTTP-Protokoll Quelle: learn.wu-wien.ac.at Mi, Do, Interaktives Web 27 HTTP-Protokoll HTTP-Definition 1996: HTTP/ : HTTP/1.1 Wichtige HTTP-Methoden GET, POST, PUT, DELETE, OPTIONS Interessante Request-Header-Fields If-modified-since Interessante Reply-Header-Fields Content-Type Content-Length Last-Modified Mi, Do, Interaktives Web 28 14

15 HTTP-Protokoll Antworttypen 1xx: Information, Hinweis 2xx: Aktion wurde ausgeführt 200: Operation erfolgreich ausgeführt 3xx: Redirection Client muss weitere Aktionen veranlassen um den Request durchführen zu können 301: Moved Permanently 302: Moved Temporarily 304: Not Modified 4xx: Fehler im Request 400: Ungültiger Request (meist ungültige Syntax) 401: Unauthorized 403: Forbidden 404: Not Found 5xx: Fehler auf Server-Seite 500: Internal Server Error Mi, Do, Interaktives Web 29 Datenbankbasierter Webserver Quelle: Mi, Do, Interaktives Web 30 15

16 XAMPP Projekt von apachefriends.org Distribution von Apache Web-Server (http://www.apache.org) MySQL Datenbank (http://www.mysql.com) PHP (http://www.php.net) Perl (http://www.cpan.org) Practical Extraction and Report Language + Weitere nützliche Tools und Packages Gratis + Open Source + Plattformunabhängig Distributionen für Windows, Linux, Mac, Solaris Mi, Do, Interaktives Web 31 Konfiguration XAMPP XAMPP Status Sicherheitscheck phpinfo() Demos CD-Verwaltung Biorhythmus Instant Art Telefonbuch Tools phpmyadmin Webalizer PHP Umschalter Mercury Mail FileZilla FTP Mi, Do, Interaktives Web 32 16

17 Konfiguration XAMPP Apache - httpd.conf ServerRoot Listen LoadModule (besonders PHP) ServerName, ServerAdmin DocumentRoot DirectoryIndex AccessFileName ErrorLog ErrorDocument VirtualHost Mi, Do, Interaktives Web 33 Konfiguration XAMPP PHP - php.ini safe_mode max_execution_time, max_input_time, memory_limit error_reporting post_max_size file_uploads, upload_tmp_dir, upload_max_filesize extensions Smtp, sendmail_from, sendmail_path Mi, Do, Interaktives Web 34 17

18 HTML-Grundlagen HTML ist eine Auszeichnungssprache (Markup Language) Wird mit Hilfe von SGML definiert (Standard Generalized Markup Language) HTML-Dateien bestehen aus einem Kopf- und einem Nutzdatenteil (head und body). HTML-Dateien bestehen aus Text Inhalt von HTML-Dateien steht in HTML-Elementen HTML-Elemente werden durch Tags markiert Fast alle HTML-Elemente werden durch ein einleitendes und ein abschließendes Tag markiert Inhalt dazwischen ist Gültigkeitsbereich des entsprechenden Elements Tags werden in spitzen Klammern notiert Mi, Do, Interaktives Web 35 HTML-Grundlagen <html> <head> <title>titel der Webseite</title> </head> <body> <h1>hello World</h1> </body> </html> 01_html.html Mi, Do, Interaktives Web 36 18

19 HTML-Grundlagen <html> <head> <title>titel der Webseite</title> </head> <body bgcolor=#aa0000 text=#ffffff link=#00ff00 vlink=# alink=#0000ff> <h1>beispiel</h1> Bitte klicken Sie <br><br> <a href=01_html.html target=_top>hier</a>. <ul> <li>1. Aufzählung</li> <li>2. Aufzählung</li> <li>3. Aufzählung</li> </ul> </body> </html> 02_html.html Mi, Do, Interaktives Web 37 HTML-Tabellen <html> <head> <title>titel der Webseite</title> </head> <body> <table border=1 width=300> <tr> <th>name</th> <th>note</th> </tr> <tr> <td>werner</td> <td align=right>1</td> </tr> <tr> <td align=center colspan=2>gesamt: 5</td> </tr> </table> </body> </html> 03_table.html Mi, Do, Interaktives Web 38 19

20 HTML-Frameset <html> <head> <title>titel der Webseite</title> </head> <frameset cols="50%,*" frameborder=0 framespacing=0 border=0> <frame src=01_html.html name=frame1> <frame src=02_html.html name=frame2> </frameset> <body> Ihr Browser muss Frames unterstätzen um diese Seite anzuzeigen. </body> </html> 04_frameset.html Mi, Do, Interaktives Web 39 HTML-Bilder <html> <head> <title>titel der Webseite</title> </head> <body> <h3>ein Bild</h3> <p> Das ist ein Bild. </p> <p> <a href=01_html.html><img src=img/04.jpg border=0 width=483 height=188></a> </p> <p> <a href=http://www.hoisl.com target=_blank>link 1</a><br> <a href=http://www.gym1.at target=_blank>link 2</a> </p> </body> </html> 05_img.html Mi, Do, Interaktives Web 40 20

21 HTML-Formular... <form action=06_formular.html method=get> Name:<br> <input type=text name=name maxlength=50> <br><br> <br> <input type=text name= size=30> <br><br> Geschlecht:<br> w <input type=radio name=geschlecht value=w> m <input type=radio name=geschlecht value=m> <br><br> Text:<br> <textarea name=text cols=40 rows=7></textarea> <br><br> Newsletter bestellen?<br> <input type=checkbox name=newsletter> <br><br> <input type=hidden name=secret value=123> <input type=submit value=abschicken> <input type=reset value=löschen> </form>... 06_formular.html Mi, Do, Interaktives Web 41 CSS-Grundlagen HTML definiert den grundsätzlichen Aufbau einer Webseite Eigentlich nicht dazu gedacht genau anzugeben wie ein Element aussehen soll -> CSS (Cascading Style Sheets) Ergänzungssprache, vorwiegend für HTML entwickelt Erlaubt das beliebige Formatieren einzelner HTML-Objekte Mi, Do, Interaktives Web 42 21

22 CSS-Grundlagen 07_img_css.html 08_css.css 08_formular_css.html Ausführliche Beschreibung zu HTML und CSS, aber auch JavaScript, XML, Perl und PHP findet sich unter Mi, Do, Interaktives Web 43 JavaScript-Grundlagen JavaScript ist eine clientseitige Scriptsprache Wird vom Browser des Benutzers ausgeführt Von Netscape 1995 veröffentlich Ursprünglich LiveScript JavaScript ist plattformunabhängig JavaScript wird in HTML-Seiten eingebunden Über das DOM (Document Object Model) kommuniziert JavaScript mit den Inhalten der HTML-Seite DOM Standardisierung: W3-Konsortium 09_formular_javascript.html Mi, Do, Interaktives Web 44 22

23 JavaScript - GGT Berechnung des größten gemeinsamen Teiler zweier Zahlen <script language=javascript> function berechne_ggt() { zahl1 = parseint(document.form1.t1.value); zahl2 = parseint(document.form1.t2.value); a = Math.max(zahl1,zahl2); b = Math.min(zahl1,zahl2); do { rest = a % b; a = b; b = rest; } while (rest>0); document.form1.t3.value = a; } </script> 09a_javascript_ggt.html Mi, Do, Interaktives Web 45 PHP-Grundlagen Scriptsprache zur Erstellung dynamischer Webseiten (serverseitig) PHP wird direkt in HTML eingebunden 1994 von Rasmus Lerdorf entwickelt Personal HomePage Später: PHP Hypertext Preprocessor 1995: PHP/FI (Form Interface) 1997: PHP/FI : PHP 3 Kein Sessionmanagement Keine Objektorientierung PHP 4, heute PHP 5 Sehr schnell und effizient Sehr großer Funktionsumfang Viele unterstützte Datenbanken (z.b. MySQL) Mi, Do, Interaktives Web 46 23

24 PHP-Grundlagen <html> <head> <title>titel der Webseite</title> </head> <body> <? echo "<h1>hello World</h1>";?> <?php echo "<h2>hello World</h2>";?> <script language=php> echo "<h3>hello World</h3>"; </script> </body> </html> 10_php.php Mi, Do, Interaktives Web 47 PHP-Typen Boolscher Typ $a = true; Integer $a = 1234; Fließkomma (Float) $a = 12.34; Zeichenkette (String) $a = Hallo Welt ; Array $a = array(); $a[1] = Hallo Welt ; Objekte Ressource Z.B. mysql result NULL PHP Variablen sind Mixed- Typen. D.h. keine explizite Typenumwandlung nötig, aber möglich. Daher auch keine Typendeklaration bei Variablengenerierung. Mi, Do, Interaktives Web 48 24

25 PHP-Typen Quelle: Mi, Do, Interaktives Web 49 PHP-Variablen $var = Ich ; $Var = Du ; $var = Sie ; $a = A ; $b = &$a; $b = B ; echo $a $b ; $a = Hallo ; $$a = Welt ; echo $a ${$a} ; Mi, Do, Interaktives Web 50 25

26 Vordefinierte Variablen $GLOBALS $_SERVER $_GET $_POST $_COOKIE $_FILES $_ENV $_REQUEST Siehe auch phpinfo() Mi, Do, Interaktives Web 51 Operatoren Arithmetische Operatoren +, -, *, /, % Zuweisungsoperatoren =, +=,.= Vergleichsoperatoren ==, ===,!=, <>,!==, <, >, <=, >= Trinitäts-Operator ausdr1? ausdr2 : ausdr3 Inkrement- bzw Dekrementoperatoren $a++, ++$a, $a--, --$a Logische Operatoren and, or, xor,!, &&, Mi, Do, Interaktives Web 52 26

27 Kontroll-Strukturen if else elseif while do.. while for foreach switch 11_... 18_....php Mi, Do, Interaktives Web 53 Funktionen <? function machkaffee ($typ = "Cappucino") { return "Ich mache eine Tasse $typ.\n"; } echo machkaffee(); echo machkaffee("espresso");?> 19_function.php Mi, Do, Interaktives Web 54 27

28 Klassen und Objekte Eine Klasse ist eine Sammlung von Variablen und Funktionen, die mit diesen Variablen arbeiten. Klassendeklaration 20_class.php Vererbung (extends) 21_class_extends.php Konstruktor 22_class_constructor.php Die Objektorientierung wurde in PHP 5 merklich erweitert Konstruktoren, Destruktoren Sichtbarkeit Überladen von Methoden Introspektion Mehrfachvererbung Mi, Do, Interaktives Web 55 PHP - GGT Berechnung des größten gemeinsamen Teiler zweier Zahlen mittels PHP <? if (isset($b1)) { $a = max($t1,$t2); $b = min($t1,$t2); do { $rest = $a % $b; $a = $b; $b = $rest; } while ($rest>0); }?> 22a_php_ggt.php Mi, Do, Interaktives Web 56 28

29 Einfacher Counter Zugriff auf eine Textdatei, die den Zähler speichert Lies den Wert dieser Datei aus Erhöhe den Wert um 1 Schreibe den um 1 erhöhten Wert in die Datei zurück Zeige den Wert an <? $counter = file("23_counter.txt"); $counter = $counter[0] + 1; $fp = fopen("23_counter.txt", "w"); fwrite($fp, $counter); echo $counter;?> 23_counter.php Mi, Do, Interaktives Web 57 Textfänger - Gästebuch Frameset Links: Eingabe Rechts: Ausgabe Funktionen Text eingeben Text löschen Varianten Text am Ende der Datei anfügen Text am Anfang der Datei anfügen 3 Optimierungsstufen Aufgabe Linkes Eingabefeld soll nach dem Löschen der Einträge ebenfalls geleert werden 24_textfaenger.php Mi, Do, Interaktives Web 58 29

30 Zugangskontrolle Erstellen Sie folgende Dateien Eine Seite beinhaltend ein Passwort-Feld und einen Button Login Nach drücken auf den Button soll eine neue Seite erscheinen, die das eingegebene Passwort mit einem vorher definierten vergleicht Wenn das Passwort korrekt war, dann soll ein Text ausgegeben, ansonsten soll wieder zur Startseite zurückgeleitet werden login.php form-method: post input-type: password check.php Abfrage ob Passwort = definiertem Bei Ja: Ausgabe Erfolgreich eingeloggt Für Fortgeschrittene Session erzeugen Wenn login.php aufgerufen wird, automatische Weiterleitung zu check.php (keine erneute Authentifizierung nötig) Möglichkeit zum Logout Bei Nein: Umleiten zur vorherigen Seite Möglichkeiten: HTML Meta-Tag, JavaScript, PHP (Header Info) 25_, 26_.php Mi, Do, Interaktives Web 59 MySQL My Structured Query Language Relationales Datenbanksystem Speicherung der Daten in verknüpften Tabellen Client/Server System Datenbankserver (Theoretisch) beliebig viele Clients, die Daten abfragen, Änderungen durchführen etc. Datenbearbeitung basiert weitgehend auf dem SQL-Standard Hohe Performance, Zuverlässigkeit, einfache Handhabung Zugriff auf MySQL von PHP aus über eine zur Verfügung gestellte API (Application Programming Interface) Mi, Do, Interaktives Web 60 30

31 SQL-Grundlagen DDL (Data Definition Language) Konstrukte zur Definition/Beschreibung der Daten und Ihrer Strukturen DML (Data Manipulation Language) Konstrukte zur Manipulation der Daten Zwei Arten Abfragen Operationen zur Formulierung von Abfragen (Query). Keine Änderung der Daten. (SELECT) Mutationen Operationen zur Eingabe, Löschung und Änderung von Daten. (INSERT, DELETE, UPDATE) Mi, Do, Interaktives Web 61 Schulbeispiel ER-Modell Mi, Do, Interaktives Web 62 31

32 Schulbeispiel DDL Tabellenstruktur für Tabelle `27_lehrer` -- CREATE TABLE `27_lehrer` ( `id` int(11) NOT NULL auto_increment, `geschlecht` char(1) collate latin1_general_ci NOT NULL default '', `titel` varchar(255) collate latin1_general_ci NOT NULL default '', `vorname` varchar(255) collate latin1_general_ci NOT NULL default '', `nachname` varchar(255) collate latin1_general_ci NOT NULL default '', ` ` varchar(255) collate latin1_general_ci NOT NULL default '', `kv_klasse` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=43 ;... 27_structure.sql Mi, Do, Interaktives Web 63 Schulbeispiel DML Abfrage aller Lehrer SELECT * FROM 27_lehrer; Abfrage aller weiblichen Lehrer, Ausgabe: Geschlecht + Vornamen SELECT geschlecht, vorname FROM 27_lehrer WHERE geschlecht= w ; Nur die ersten 10, sortiert nach Vornamen SELECT geschlecht, vorname AS v FROM 27_lehrer WHERE geschlecht= w ORDER by v LIMIT 0,10; Abfrage aller Klassenvorstände + Klassen SELECT t1.vorname, t2.bezeichnung FROM 27_lehrer AS t1, 27_klasse AS t2 WHERE t1.kv_klasse=t2.id; Mi, Do, Interaktives Web 64 32

33 Schulbeispiel DML Abfrage aller Klassenvorstände der 1. Klassen SELECT t1.vorname, t2.bezeichnung FROM 27_lehrer AS t1, 27_klasse AS t2 WHERE t1.kv_klasse=t2.id AND t2.bezeichnung LIKE 1_ ; Abfrage von Anzahl Schüler pro Klasse SELECT bezeichnung,count(*) AS c FROM 27_klasse t1, 27_schueler t2 WHERE t1.id=t2.klasse GROUP BY t2.klasse ORDER BY c DESC; Abfrage welcher Lehrer unterrichtet in welcher Klasse welchen Gegenstand SELECT t1.vorname,t2.bezeichnung,t3.bezeichnung FROM 27_lehrer t1, 27_klasse t2, 27_unterrichtsfach t3, 27_unterrichtet t4 WHERE t1.id=t4.lehrer_id AND t2.id=t4.unterrichtsfach_id AND t3.id=t4.klasse_id ORDER BY t2.bezeichnung; Mi, Do, Interaktives Web 65 Schulbeispiel DML Neuen Lehrer anfügen INSERT INTO 27_lehrer (geschlecht, titel, vorname, nachname, ) VALUES ( m, Mag., Bernhard, Hoisl, ); Lehrer editieren UPDATE 27_lehrer SET kv_klasse=11 WHERE id=43; Lehrer wieder löschen DELETE FROM 27_lehrer WHERE like bernhard.hoisl% ; Mi, Do, Interaktives Web 66 33

34 Schulbeispiel Lehrerliste Ausgabe: Name, Titel, Detailansicht Schülerliste Ausgabe: Name, Straße, PLZ, Ort, Klasse Detailansicht Klassenvorstandliste Ausgabe: Lehrer, Klasse Klassendetailansicht Klassenliste Ausgabe: Klasse, Sitzplatzanzahl + Schüler pro Klasse Klassendetailansicht Mi, Do, Interaktives Web 67 Schulbeispiel Neuen Lehrer anlegen Formular PHP + JavaScript SQL INSERT-Statement Lehrer löschen Lehrerliste SQL DELETE-Statement Lehrer editieren Lehrerliste Formular mit jetzigen Daten SQL UPDATE-Statement Mi, Do, Interaktives Web 68 34

35 Normalformen 1. Normalform Eine Relation befindet sich in der ersten Normalform, wenn keines ihrer Attribute eine untergeordnete Relation darstellt und wenn alle Attribute nur atomare Werte beinhalten. Die Attribute der Relation müssen atomar sein. Strukturierte Attribute (wie Adresse) müssen aufgeteilt werden in ihre Teilattribute (z.b. in PLZ, Ort, Straße und Hausnummer). Aufgrund von funktionalen Abhängigkeiten (PLZ bestimmt Ort) ergeben sich in 1NF-Relationen Redundanzen. Siehe auch Mi, Do, Interaktives Web 69 Normalformen 2. Normalform Laut Definition muss die Datenbank immer zuerst in die 1. Normalform versetzt werden, bevor man diese in die 2. Normalform versetzen kann. Hierbei müssen alle nicht zum Schlüssel gehörenden Attribute von diesem voll funktional abhängig sein. Besteht ein Schlüssel aus mehreren Teilschlüsseln, so ist das Element aus dem Datensatz herauszuziehen, welches nur von einem Teilschlüssel abhängt. Die zweite Normalform vermeidet partielle funktionale Abhängigkeiten (diese bewirken Redundanzen). Eine partielle funktionale Abhängigkeit besteht, wenn Attribute (die nicht Schlüsselkandidaten sind) funktional schon von einem Teil des Schlüssels abhängen. Die zweite Normalform kann durch Elimination der abhängigen Attribute und Auslagerung in eine eigene Relation erreicht werden. Mi, Do, Interaktives Web 70 35

36 Normalformen 3. Normalform Zusätzlich zur 2. Normalform gilt für jeden Schlüssel: Alle nicht zum Schlüssel gehörende Attribute sind nicht von diesem transitiv abhängig. Das bedeutet, dass alle Attribute nur vom Schlüsselattribut, nicht aber von anderen Attributen abhängig sind. Eine Abhängigkeit zwischen den Attributen muss aufgelöst werden. Die dritte Normalform löst transitive Abhängigkeiten auf. Geht man von einem Schlüssel aus, der eine Attributmenge bestimmt, die wiederum ein abhängiges Attribut bestimmt, so liegt eine transitive Abhängigkeit vor. Zur Beseitigung kann man das transitiv abhängige Attribut in eine neue Relation kopieren (gemeinsam mit der bestimmenden Attributmenge) und aus der ursprünglichen Relation entfernen. Mi, Do, Interaktives Web 71 Content Management System CMS ist ein System zur Verwaltung von Inhalten Grundprinzip: Trennung von Design, Inhalt und Funktionalität Benutzer soll das System ohne Programmierkenntnisse bedienen können Dafür nötig: Schaffen von Schnittstellen CMS sind meist sehr komplex und werden für mittelgroße bis große Projekte eingesetzt Bekannte Systeme (OpenSource) PHP + MySQL Typo3 (http://www.typo3.com) Mambo (http://www.mamboserver.com) Java + XML Magnolia (http://www.magnolia.info) OpenCms (http://www.opencms.org) Mi, Do, Interaktives Web 72 36

37 Beschreibung einfaches CMS HEADER + MENU NAVIGATION CONTENT INFORMATION FOOTER Mi, Do, Interaktives Web 73 Beschreibung einfaches CMS HEADER HTML-Head, Meta-Tags, CSS, eröffnen der HTML-Struktur (table) Evtl. Hauptmenü NAVIGATION (Haupt-)Untermenü CONTENT Inhalt der Seite ausgeben Datei mit Inhalt vorhanden Inhalt in Datenbank INFORMATION Aktuelle Informationen, Sidekick FOOTER Wichtige Links, Kontaktdaten etc. HTML Struktur beenden (table) Mi, Do, Interaktives Web 74 37

38 Beschreibung einfaches CMS URL, z.b. <? include( functions.php ); head($site); navigation($site); CONTENT information($site); footer($site);?> 28_ Mi, Do, Interaktives Web 75 Beschreibung einfaches CMS Back-End Zugangsbeschränkung Benutzerrollen Interfaces zum Eintragen von Inhalten Spezielle Funktionen, Statistiken etc. Allgemein zugänglich Strukturierte Informationsanzeige Personalisierung Members Area etc. Front-End Mi, Do, Interaktives Web 76 38

39 Beispiel Diashow Automatische Generierung einer Diashow Bilder müssen nicht mehr verkleinert bzw. komprimiert werden Mittels GD Bibliothek werden Bilder vom PHP Script in Echtzeit komprimiert -> sehr rechenaufwendig Deswegen Vorabberechnung aller Bilder in zwei Auflösungen Thumbnail Detailansicht Falls Druckauflösung erwünscht, kann das Originalbild (unkomprimiert) benutzt werden Automatischer Eintrag der Diashow mit Titel und optionaler Bildbeschreibung in die Datenbank Achtung: Programm wurde von mehreren Stellen zusammenkopiert und ist unsauber programmiert! 29_ Mi, Do, Interaktives Web 77 Beispiel Umfrage Beliebig viele Fragen 4 Antwortmöglichkeiten Abfrage mittels JavaScript, damit alles beantwortet wird In die Datenbank wird lediglich das Gebietkürzel und der Kenntnisgrad in diesem Gebiet eingetragen Die Auswertung wird in Form von Balken dargestellt Sehr einfach Form der Darstellung Alternativ: z.b. GD Bibliothek Image-Alt Tag: Wenn mit der Maus über einen Balkenabschnitt gefahren wird, ist die Anzahl der Stimmen absolut und in Prozent ersichtlich 30_ Mi, Do, Interaktives Web 78 39

40 Beispiel Dateiupload <html> <? if ($datei) { if (copy($datei,$datei_name)) { echo "Datei erfolgreich kopiert!"; } else { echo "Kann Datei nicht kopieren!"; } }?> <form action=31_upload.php method=post enctype=multipart/formdata> Datei: <input type=file name=datei> <br><br> <input type=submit value=upload> </form> </html> 31_upload.php Mi, Do, Interaktives Web 79 Beispiel gültige adresse Prüfe gültige Syntax der adresse Prüfe ob Domain für empfang eingerichtet ist Gibt es einen gültigen MX-Record im DNS Wenn ja, dann hole den MX Hostname Wenn nein, nehme an, das Domainname = Domainname des Mailservers Kommuniziere per SMTP mit Mailserver Bist du ein SMTP Server? Sprichst du mit mir? Kann von der angegebenen adresse über dich s versand werden? Alle ja -> Überprüfung beendet -> adresse gültig Mi, Do, Interaktives Web 80 40

41 Beispiel gültige adresse Funktionen in Windows nicht verfügbar Auf den Seiten finden sich aber Beispiel für Windows- Implementierungen (Funktionen selber geschrieben oder umgeschrieben) Programm ohne SMTP Kommunikation mit Funktion für Windows Benutzer Mi, Do, Interaktives Web 81 Weitere Beispiele? Weblog, Gästebuch, Newsticker Forum Chat (Massen) s versenden Informativer Besucherzähler (Webalizer-Klon) Verschiedene Quizarten JavaScript Beispiele Datenbankmodellierung Mi, Do, Interaktives Web 82 41

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

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP. Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License

Mehr

Themen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht

Themen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht Themen Anwendungsschicht DNS HTTP Anwendungsschicht OSI-Schicht 7, TCP/IP-Schicht 4 Dienste für den Nutzer/Anwender Unabhängig von den niederen Schichten Verschiedene Dienste bzw. Services DNS HTTP FTP,

Mehr

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST 2. Interaktive Web Seiten GET und POST Die Übertragungsmethoden GET und POST sind im http Protokoll definiert: POST: gibt an, dass sich weitere Daten im Körper der übertragenen Nachricht befinden: z.b.

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken http://galahad.informatik.fh-kl.de/~miesel/index.html PHP -1 Gliederung Einführung PHP3 Datenbankanbindung mit PHP3 Sicherheitsprobleme Realisierung mit PHP3 Probleme

Mehr

PHP Einsteiger Tutorial Kapitel 4: Ein Email Kontaktformular in PHP Version 1.0 letzte Änderung: 2005-02-03

PHP Einsteiger Tutorial Kapitel 4: Ein Email Kontaktformular in PHP Version 1.0 letzte Änderung: 2005-02-03 PHP Einsteiger Tutorial Kapitel 4: Ein Email Kontaktformular in PHP Version 1.0 letzte Änderung: 2005-02-03 Bei dem vierten Teil geht es um etwas praktisches: ein Emailformular, dass man auf der eigenen

Mehr

Programmieren 2 (Prof. Hasbargen) Klausur

Programmieren 2 (Prof. Hasbargen) Klausur Programmieren 2 (Prof. Hasbargen) 1 Klausur Aufgabe 1 (10 Punkte) Dynamisierung von HTML-Seiten HTML-Seiten sind eine gängige Art und Weise, Informationen darzustellen. Nennen Sie die Gründe, welche Vorteile

Mehr

Internet, Multimedia und Content Management

Internet, Multimedia und Content Management Mag. Friedrich Wannerer Internet, Multimedia und Content Management Jahrgang 1, 2, 3 (bzw. 4 und 5) 1. Jahrgang Internet Grundbegriffe, Zugang Informationsbeschaffung (Suchmaschinen) Webseitengestaltung

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 29. April 2013 - MySQL 2 Sebastian Cuy sebastian.cuy@uni-koeln.de Aufgaben Anmerkungen Best practice: SQL Befehle

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Dynamische Webseiten

Dynamische Webseiten Dynamische Webseiten Seminar Medientechnik 30.06.2003 Dynamische Webseiten 1 Inhalt Allgemeine Funktionsweise eines Webservers Grundgedanke von dynamischen Webseiten Einschub: Dynamische Seitenerzeugung

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

FileMaker und PHP Workshop

FileMaker und PHP Workshop FileMaker und PHP Workshop 2-stündiger Ausschnitt aus einem 3-tägigen Schulungsprogramm Bernhard Schulz FileMaker Konferenz 2010 / Zürich Ziel des Workshops Kennenlernen von PHP Möglichkeiten von FileMaker

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

Internet Basics oder Wie funktioniert das Internet? Stefan Sporrer

Internet Basics oder Wie funktioniert das Internet? Stefan Sporrer Internet Basics oder Wie funktioniert das Internet? Stefan Sporrer Geschichte des Internets Geschichte des Internet 1967-1969: Entwicklung der Vernetzung von Computern (Advanced Research Projekt Agency

Mehr

MySql und PHP. Apache2: Konfigurieren für php4. ...\apache2\conf\httpd.conf aufrufen. Folgende Zeilen einfügen:

MySql und PHP. Apache2: Konfigurieren für php4. ...\apache2\conf\httpd.conf aufrufen. Folgende Zeilen einfügen: MySql und PHP Apache2: Konfigurieren für php4...\apache2\conf\httpd.conf aufrufen Folgende Zeilen einfügen: LoadModule php4_module "c:/php/php4apache2.dll" AddType application/x-httpd-php.php Wichtig!!

Mehr

Ablauf Unit2. Walkthrough

Ablauf Unit2. Walkthrough Ablauf Unit2 Vertiefendes Uebungsprojekt - SQL II Gerhard Wohlgenannt Test Vorstellung der Arbeitsumgebung (Software, Locations) Walkthrough Gruppeneinteilung + Themenvergabe Vorstellung der Arbeitsumgebung

Mehr

Grundlagen Internet-Technologien INF3171

Grundlagen Internet-Technologien INF3171 Fachbereich Informatik Informationsdienste Grundlagen Internet-Technologien INF3171 Das Web, das unbekannte Wesen Internet, Web, HTTP, CGI Version 1.01 13.04.2015 Aktuelles 2 das Web Internet seit ~ 1969

Mehr

Grundlagen der EDV 3. Vorlesung mit Übungen. Dipl. Ing. Martin Ney

Grundlagen der EDV 3. Vorlesung mit Übungen. Dipl. Ing. Martin Ney Grundlagen der EDV 3 Vorlesung mit Übungen Dipl. Ing. Martin Ney Grundlagen der EDV 3 HTML und CSS HTML und PHP CMS Datenbanken SQL Grundlagen der EDV 2/29 Internetprotokolle HTTP zum Abruf von Internetdateien

Mehr

Ablauf. Wichtige Termine. Vertiefendes Übungsprojekt - SQL II

Ablauf. Wichtige Termine. Vertiefendes Übungsprojekt - SQL II Ablauf Wichtige Termine Ablauf der Lehrveranstaltung Vorstellung des Projektthemas Projektgruppen Vorstellung der Arbeitsumgebung (Software, Locations) Walkthrough Datenbankentwurf Formulare PHP Security

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

Begleitskript. zum PHP/MySQL. Kurs

Begleitskript. zum PHP/MySQL. Kurs Begleitskript zum PHP/MySQL Kurs http://www.online-platform.net Dieser Text unterliegt der GNU General Public License. Er darf als ganzes oder in Auszügen kopiert werden, vorausgesetzt, dass sich dieser

Mehr

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken.

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Vorlesungsteil SQL Grundlagen - 1 / 8 - SQL SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Auf einem Server (Rechner im Netz, der Dienste

Mehr

Installation von Typo3 CMS

Installation von Typo3 CMS Installation von Typo3 CMS TYPO3 Version 6.2.x unter Windows Eigenen lokalen Webserver mit XAMPP installieren Für die Installation von Typo3 wird eine passende Systemumgebung benötig. Diese besteht aus

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Sicherheit von Webapplikationen Sichere Web-Anwendungen

Sicherheit von Webapplikationen Sichere Web-Anwendungen Sicherheit von Webapplikationen Sichere Web-Anwendungen Daniel Szameitat Agenda 2 Web Technologien l HTTP(Hypertext Transfer Protocol): zustandsloses Protokoll über TCP auf Port 80 HTTPS Verschlüsselt

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Kapitel 6 Internet 1

Kapitel 6 Internet 1 Kapitel 6 Internet 1 Kapitel 6 Internet 1. Geschichte des Internets 2. Datenübertragung mit TCP/IP 3. Internetadressen 4. Dynamische Zuteilung von Internetadressen 5. Domain-Namen 6. Internetdienste 2

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden.

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden. Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) PHP und MySQL Integration von MySQL in PHP Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 (michael.kluge@tu-dresden.de) MySQL

Mehr

Der XAMPP-Stack. Apache, PHP und MySQL im Überblick

Der XAMPP-Stack. Apache, PHP und MySQL im Überblick Der XAMPP-Stack Apache, PHP und MySQL im Überblick LAMP und XAMPP LAMP: Linux + Apache + MySQL + PHP sehr populäre Kombination zur Bereitstellung dynamischer Web-Inhalte mit Apache: Webserver MySQL: Datenbankmanagementsystem

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

web(in)securities CISCO Academy Day 11/12.05.2012 Mark Hloch Montag, 14. Mai 12

web(in)securities CISCO Academy Day 11/12.05.2012 Mark Hloch Montag, 14. Mai 12 Hochschule Niederrhein University of Applied Sciences Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science web(in)securities CISCO Academy Day 11/12.05.2012 Mark Hloch Inhalt

Mehr

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs 4. s Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web n und Containern Erstellung einfacher s (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K. Sierra, B. Bates, Head

Mehr

Installation SuperWebMailer

Installation SuperWebMailer Installation SuperWebMailer Die Installation von SuperWebMailer ist einfach gestaltet. Es müssen zuerst per FTP alle Dateien auf die eigene Webpräsenz/Server übertragen werden, danach ist das Script install.php

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

Informatik Datenbanken SQL-Einführung

Informatik Datenbanken SQL-Einführung Informatik Datenbanken SQL-Einführung Gierhardt Inhaltsverzeichnis 1 Vorbemerkungen 1 2 Auswahl-Abfragen mit SELECT 2 2.1 Selektion...................................... 2 2.2 Projektion.....................................

Mehr

Hinweise zur Arbeit mit MySQL

Hinweise zur Arbeit mit MySQL Hinweise zur Arbeit mit MySQL Warum soll ich mich überhaupt mit MySQL beschäftigen? Nicht ganz bescheiden wird auf der MySQL-Website verkündet: Die populärste Open-Source-Datenbank der Welt. Tatsächlich

Mehr

KEIL software. Inhaltsverzeichnis INSTALLATION

KEIL software. Inhaltsverzeichnis INSTALLATION Inhaltsverzeichnis 1. Wichtige Informationen 1.1. Vorrausetzungen 1.2. Zusätzliche Sprachdateien 1.3. Thumbnail-Erstellung und Verkleinerung der Bilder 1.4. Schutz Ihrer Daten und Shop Sicherheit 2. Installation

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

Mehr

Interaktive Webseiten mit PHP und MySQL

Interaktive Webseiten mit PHP und MySQL Interaktive Webseiten mit PHP und Vorlesung 4: PHP & Sommersemester 2003 Martin Ellermann Heiko Holtkamp Sommersemester 2001 Hier noch ein wenig zu (My)SQL: SHOW INSERT SELECT ORDER BY GROUP BY LIKE /

Mehr

2 Grundlegende Funktionsweise eines HTTP-Servers

2 Grundlegende Funktionsweise eines HTTP-Servers 2 Grundlegende Funktionsweise eines HTTP-Servers In diesem Abschnitt soll das Zusammenspiel zwischen der Transportschicht und der Anwendungsschicht am Beispiel des Protokolls HTTP erläutert werden. Im

Mehr

PHP-Security. Aleksander Paravac. watz@lug-bamberg.de http://www.lug-bamberg.de. Aleksander Paravac (GNU/Linux User Group Bamberg/Forchheim) 1 / 27

PHP-Security. Aleksander Paravac. watz@lug-bamberg.de http://www.lug-bamberg.de. Aleksander Paravac (GNU/Linux User Group Bamberg/Forchheim) 1 / 27 PHP-Security Aleksander Paravac watz@lug-bamberg.de http://www.lug-bamberg.de Aleksander Paravac (GNU/Linux User Group Bamberg/Forchheim) 1 / 27 Übersicht 1 Motivation 2 Einsatz von PHP auf dem Webserver

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

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

AixVerein 2.0 - Anleitung zur Einrichtung des

AixVerein 2.0 - Anleitung zur Einrichtung des Seite 1/6 AixVerein 2.0 - Anleitung zur Einrichtung des Datenbank-Servers und der Dokumentenablage Bei der vorliegenden Anwendung handelt es sich um eine Client-Server-Anwendung, d.h. die Software wird

Mehr

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung 4. Internet Verbindung 4.1 Einleitung Im Folgenden wird die Konfiguration der DFL-800 Firewall gezeigt. Sie konfigurieren einen Internet Zugang zum Provider mit dem Protokoll PPPoE. In der Firewallrichtlinie

Mehr

Am Anfang war die "normale" Webseite

Am Anfang war die normale Webseite Am Anfang war die "normale" Webseite... besteht aus reinem HTML ist statisch, muß handgepflegt werden kein dynamisches Anpassen an Benutzereingaben oder andere sich ändernde Inhalte (Seitencounter, Datenbanken)

Mehr

Modul 1.4.3. Grundlagen der Internettechnologien. von Günter Schoppe. Hannover, 2002. guenter.schoppe@ers-hameln.de

Modul 1.4.3. Grundlagen der Internettechnologien. von Günter Schoppe. Hannover, 2002. guenter.schoppe@ers-hameln.de Modul 1.4.3 Grundlagen der Internettechnologien von Günter Schoppe Hannover, 2002 guenter.schoppe@ers-hameln.de 1.4.3 Grundlagen der Internet-Technologien 1.4.3.1 Historie 1.4.3.2 Internetprotokolle 1.4.3.3

Mehr

Einführung in Web-bezogene Sprachen

Einführung in Web-bezogene Sprachen EWS-1.1 Einführung in Web-bezogene Sprachen Dr. Michael Thies basiert auf Material von Prof. Dr. Uwe Kastens WS 2006 / 2007 2006 bei Prof. Dr. Uwe Kastens Ziele S E W EWS-1.2 S W E E Die Vorlesung soll

Mehr

Sachwortverzeichnis... 251

Sachwortverzeichnis... 251 Inhalt Vorwort... V 1 WWW World Wide Web... 1 1.1 Das Internet Infrastruktur und Administration... 2 1.2 Datenübertragung... 4 1.3 Sprachen im Web... 6 1.4 Webseiten... 7 1.4.1 Clientseitige Dynamik...

Mehr

Dynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten

Dynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten CGI einfach PHP Dynamik bis zur DB-Interaktion 1 CGI Möglichkeiten Das Common Gateway Interface (CGI) ermöglicht den Entwurf von interaktiven, benutzergesteuerten Web-Applikationen. Der WWW-Server ruft

Mehr

Dateneingabe über ein HTML-Formular in eine Datenbank:

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

Mehr

Wolfgang Dehnhardt: JavaScript, VBScript, ASP, Perl, PHP, XML: Scriptsprachen für dynamische Webauftritte, Carl Hanser 2001

Wolfgang Dehnhardt: JavaScript, VBScript, ASP, Perl, PHP, XML: Scriptsprachen für dynamische Webauftritte, Carl Hanser 2001 8. Skriptsprachen 8.1 Clientseitige Web-Skripte: JavaScript 8.2 Document Object Model (DOM) 8.3 Serverseitige Web-Skripte: PHP Weiterführende Literatur: Wolfgang Dehnhardt: JavaScript, VBScript, ASP, Perl,

Mehr

Typo 3 installieren. Schritt 1: Download von Typo3

Typo 3 installieren. Schritt 1: Download von Typo3 Typo 3 installieren Bevor Sie Typo3 installieren, müssen Sie folgende Informationen beachten: Typo3 benötigt eine leere Datenbank. Mit Ihrem Abonnement verfügen Sie über eine einzige Datenbank. Sie können

Mehr

1 Installationen. 1.1 Installationen unter Windows

1 Installationen. 1.1 Installationen unter Windows 1 Installationen Dieses Kapitel beschreibt die Installationen, die für die Nutzung von PHP und MySQL unter Windows, unter Ubuntu Linux und auf einem Mac mit OS X notwendig sind. 1.1 Installationen unter

Mehr

Protokolle. Konrad Rosenbaum, 2006/7 protected under the GNU GPL & FDL

Protokolle. Konrad Rosenbaum, 2006/7 protected under the GNU GPL & FDL TCP/IP: Standard Protokolle Konrad Rosenbaum, 2006/7 DNS - Domain Name System hierarchische, global verteilte Datenbank löst Namen in IP-Adressen auf Host hat einen primären Nameserver, der Fragen selbst

Mehr

Daniel Heß. Donnerstag, den 16. November 2006. Verein zur Förderung der privaten Internet Nutzung e.v. Wie funktioniert das Internet? dh@ping.

Daniel Heß. Donnerstag, den 16. November 2006. Verein zur Förderung der privaten Internet Nutzung e.v. Wie funktioniert das Internet? dh@ping. Daniel Heß Verein zur Förderung der privaten Internet Nutzung e.v. Donnerstag, den 16. November 2006 Was ist Ein globales Netzwerk von Computern und Kommunikationsgeräten Quelle für eine fast unendliche

Mehr

Apache MySQL - PHP. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. Martin Schober

Apache MySQL - PHP. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. Martin Schober Apache MySQL - PHP Was ist XAMPP? XAMPP bedeutet: * X = Verschiedene Betriebssysteme - ursprünglich W für Windows und L für Linux * A = Apache basierender Webserver (Simuliert das WEB auf lokalem Rechner)

Mehr

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Konzept eines Datenbankprototypen 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Inhalt (1) Projektvorstellung & Projektzeitplan Softwarekomponenten Detailierte Beschreibung der System Bausteine

Mehr

Open Catalog Interface (OCI) Anbindung an VirtueMart

Open Catalog Interface (OCI) Anbindung an VirtueMart Ver. 2.5.1 Open Catalog Interface (OCI) Anbindung an VirtueMart Joomla 2.5 und Virtuemart 2.0.6 Ing. Karl Hirzberger www.hirzberger.at Inhaltsverzeichnis Begriffserklärung... 3 OCI für VirtueMart... 4

Mehr

Crashkurs http - CGI/Servlets(JSF) - Viewer

Crashkurs http - CGI/Servlets(JSF) - Viewer jkrueger(at)cebitec.uni-bielefeld.de http TCP Referenzmodell : ApplicationLayer zustandloses Protokoll textbasiert für Hypertext entwickelt ist es nicht darauf beschränkt Nachrichten : Request : Client

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Dynamische Webanwendungen

Dynamische Webanwendungen Dynamische Webanwendungen Mohamed Said Seminar Moderne Informatik Universität Dortmund SS 2003 Mohamed Said / 2003-05-30 1 Überblick Einleitung (Konzept) Client-seitiges Skripting mit JavaScript CGI Server-seitiges

Mehr

Hackerpraktikum Versuch 4

Hackerpraktikum Versuch 4 Hackerpraktikum Versuch 4 Praktikum zur Vorlesung Reaktive Sicherheit WS 09/10 Johannes Hoffmann (hoffmann[-@-]ls6.cs.tu-dortmund.de) Dieser Versuch beschäftigt sich mit serverseitigen Schwachstellen im

Mehr

Der Einsatz von MySQL-Datenbanken (mit XAMPP)

Der Einsatz von MySQL-Datenbanken (mit XAMPP) Informatik in der Mittelstufe: Der Einsatz von MySQL-Datenbanken (mit XAMPP) Hannes Heusel Eduard-Spranger-Gymnasium Landau Warum soll ich eine MySQL- Datenbank verwenden? kostenlos Mehrbenutzersystem

Mehr

FAQ - Script gaesteform

FAQ - Script gaesteform FAQ - Script gaesteform www.kundencenter.ws 9. April 2009 Salvatore Spadaro 1 2 Inhaltsverzeichnis 1 Script - gaesteform 3 1.1 Welchen Funktionumfang bietet das Script gaesteform und welche Technik steckt

Mehr

Übung 1: Ein Website News-System mit MySQL

Übung 1: Ein Website News-System mit MySQL Übung 1: Ein Website News-System mit MySQL In der Vorübung haben wir bereits mit Hilfe eines ERMs den Datenbankentwurf erstellt und daraus die folgenden Tabellen abgeleitet: Nun muss diese Datenbank in

Mehr

1 Oberfläche zum Ausführen der PHP-Dateien

1 Oberfläche zum Ausführen der PHP-Dateien 1 Oberfläche zum Ausführen der PHP-Dateien PHP-Skripte werden vom Webserver ausgeführt. Wenn lokal am Rechner PHP-Dateien erstellt und getestet werden, dann ist es erforderlich, sie im Internet-Explorer

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier) Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier) Firewall über Seriellen Anschluss mit Computer verbinden und Netzteil anschliessen. Programm Hyper Terminal (Windows unter Start Programme

Mehr

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen 2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen Dienste des Internets Das Internet bietet als riesiges Rechnernetz viele Nutzungsmöglichkeiten, wie etwa das World

Mehr

Literatur und Links. Webtechnologien SS 2015 Teil 1/Entwicklung

Literatur und Links. Webtechnologien SS 2015 Teil 1/Entwicklung Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html http://sourceforge.net/projects/xampp/files/ [1-3] http://aktuell.de.selfhtml.org/extras/download.shtml

Mehr

!"# $ % Internet Protokolle: HTTP 1/38

!# $ % Internet Protokolle: HTTP 1/38 !"# $ % Internet Protokolle: HTTP 1/38 1 Themenübersicht Schichtenmodell Gopher /FTP Statistik URL Einleitung Anwendungsablauf Beispiel mit Telnet Request, Response Anfragemethoden header Negotiation Proxyserver

Mehr

Wordpress am eigenen Server installieren

Wordpress am eigenen Server installieren Wordpress am eigenen Server installieren Voraussetzung: Zugang zum Server und einen Datenbanknamen und Datenbankuser 1. Download der aktuellen Wordpress-Version unter http://wpde.org/download/ Die Installation

Mehr

Peter Sobe Internettechnologien. HTTP Protokoll (1) Hypertext Transport Protocol, größtenteils zum Austausch von Hypertext (HTML, xhtml) benutzt

Peter Sobe Internettechnologien. HTTP Protokoll (1) Hypertext Transport Protocol, größtenteils zum Austausch von Hypertext (HTML, xhtml) benutzt WWW Web basierend auf dem Internet Das Internet war bereits eher als das Web vorhanden, mit verteilten Anwendungen, Dateitransfer, Netzwerk- Dateisystemen (NFS) Web: entstanden durch Vorhandensein des

Mehr

User Manual nameserv.at

User Manual nameserv.at User Manual nameserv.at 1. Einstellungen 1.1 Voreinstellungen bearbeiten 2. Domainverwaltung 2.1 Domain anlegen 2.2 Massen Domain anlegen 2.3 Domain ändern 2.4 Massen Domain ändern 2.5 Domain Providerwechsel

Mehr

Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004

Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004 Zugriff auf Firebird-Datenbanken mit PHP Daniel de West DB-Campus-Treffen 15. Januar 2004 Inhalt PHP und Firebird Die wichtigsten Befehle Verbindungsaufbau Übermitteln von Abfragen Beenden von Verbindungen

Mehr

Scripting Server (Lamp) Domain Hosting

Scripting Server (Lamp) Domain Hosting Scripting Server (Lamp) Domain Hosting Quick-Start Guide 08.12.09 - HS - 1/14 Inhalt 1 Einführung...3 1.1 Administration der Internetseiten...3 1.2 Administrationsoberfläche...4 2 Grundkonfiguration...

Mehr

Web Visu Tutorial. Hipecs Web Visu. Übersicht

Web Visu Tutorial. Hipecs Web Visu. Übersicht Revision Date V100 10082011 Hipecs Web Visu Die hipecs (high performance controller system) bietet die Möglichkeit einer sog Web-Visualisierung über den integrierten Webserver Hierfür wird im Standard

Mehr

Grundlagen zum Internet. Standarddienste der Bürowelt

Grundlagen zum Internet. Standarddienste der Bürowelt Grundlagen zum Internet Grundlagen zum Internet Standarddienste der Bürowelt Lehrstuhl für Automatisierungstechnik Dr.-Ing. A. Braune SS05 - Bra Übersicht Dienste Offene Standards der Bürowelt (z.b. Web,

Mehr

Netzwerk Technologien in LabVIEW

Netzwerk Technologien in LabVIEW Netzwerk Technologien in LabVIEW von Dirk Wieprecht NI Germany Hier sind wir: Agenda Agenda Bedeutung des Ethernet für die Messtechnik Ethernet-basierende Technologien in LabVIEW Low Level- TCP/IP Objekt

Mehr

Informatik 12 Datenbanken SQL-Einführung

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

Mehr

Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis

Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis Einführung... 2-3 Servereinstellungen für die Einrichtung auf dem E-Mail Client... 4 E-Mail Adresse / Postfach einrichten...

Mehr

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

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

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

Mehr

Weborientierte Programmiersprachen am Beispiel PHP

Weborientierte Programmiersprachen am Beispiel PHP Weborientierte Programmiersprachen am Beispiel PHP Serak Rezane Seminar Programmiersprachen SS 2004 Betreuer: Prof. Dr. Claudia Leopold Dipl.-Inf. Michael Süß Was ist PHP? Gliederung (Definition, Geschichte,

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

PHP Übungsaufgabe 3 1 / 5. Doing Web Apps. PHP Übungsaufgabe 3

PHP Übungsaufgabe 3 1 / 5. Doing Web Apps. PHP Übungsaufgabe 3 1 / 5 Doing Web Apps PHP Übungsaufgabe 3 Werkzeuge Text-Editor, beispielsweise Notepad++ Webserver mit aktiviertem PHP Modul + MySQL-Datenbank Unterlagen Ziele SelfHTML PHP API Handbuch Alle Dokumente

Mehr

Datenbank-basierte Webserver

Datenbank-basierte Webserver Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr