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 Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt PHP Schulung Beginner Newthinking Store GmbH Manuel Blechschmidt Begrüßung Es gibt keine dummen Fragen nur dumme Antworten. Übersicht Sprung ins Kalte Wasser 'Hallo Welt' Theorie Requests Grundlagen Kommentare

Mehr

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. PHP + MySQL Die MySQL-Datenbank Zusammenspiel Apache, PHP, PHPMyAdmin und MySQL PHPMyAdmin Verwaltungstool Nutzer Datei.php oder Datei.pl Apache HTTP-Server PHP Scriptsprache Perl Scriptsprache MySQL Datenbank

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

Programmieren von Webinformationssystemen

Programmieren von Webinformationssystemen Programmieren von Webinformationssystemen Wolfgang Gassler Databases and Information Systems (DBIS) Institute of Computer Science University of Innsbruck dbis-informatik.uibk.ac.at 1 HTML Hypertext Markup

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

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

Übung zur Vorlesung Multimedia im Netz

Übung zur Vorlesung Multimedia im Netz Übung zur Vorlesung Multimedia im Netz Doris Hausen Ludwig-Maximilians-Universität München Wintersemester 2009/2010 Ludwig-Maximilians-Universität München Multimedia im Netz Übung 1-1 Organisatorisches

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

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

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

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

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

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

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

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

Inhaltsverzeichnis. 1 Hallo 13

Inhaltsverzeichnis. 1 Hallo 13 1 Hallo 13 2 Grundlagen 15 2.1 Das Internet 15 2.1.1 Geschichte des Internets 15 2.1.2 Kommunikation mit TCP/IP 16 2.1.3 Anwendungen im Internet 18 2.1.4 HTTP unter der Lupe 20 2.2 Webserver, PHP und MySQL

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

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

Themenkatalog der Schulungsinhalte

Themenkatalog der Schulungsinhalte IT-Training Themenkatalog der Schulungsinhalte Seite 1 von 6 Inhalt 1. DATENBANKEN... 3 1.1 Datenbank - Programmierung... 3 1.1.1 SQL - Structured Query Language / Compound Statements...3 1.2 Datenbank

Mehr

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte Webprogrammierung SVEN LETZEL FRIEDHELM BETZ Inhaltsverzeichnis jetzt lerne ich Hallo! 15 1 Grundlagen 17 1.1 Das Internet

Mehr

PHP Formulare. Stefan Maihack Dipl. Ing. (FH) Datum: 22.05.2014

PHP Formulare. Stefan Maihack Dipl. Ing. (FH) Datum: 22.05.2014 PHP Formulare Stefan Maihack Dipl. Ing. (FH) Datum: 22.05.2014 1 Formularverarbeitung Durch Formulare werden Webseiten interaktiv. Durch Formulare können Daten an den Webserver geschickt werden, um sie

Mehr

DV-Praktikum. Probleme mit der Hausaufgabe?

DV-Praktikum. Probleme mit der Hausaufgabe? DV-Praktikum Probleme mit der Hausaufgabe? Internet Was ist das Internet? Internet Was ist das Internet? Das Internet ist eine Infrastruktur; ein globales Netzwerk von Netzwerken und Einzelrechnern, in

Mehr

Internet Interconnected Networks - Geschichte -

Internet Interconnected Networks - Geschichte - Internet Interconnected Networks - Geschichte - 1876 Erfindung des Telefons 1941 Erfindung des ersten Computers 60er Jahre ARPA (Advanced Research Projects Agency) ARPANET Ziel: Netz, indem weltweit Rechner

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

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

Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet

Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL5 Folie 1 Dr. Jens Döbler Internet Grundlagen Zusammenschluß

Mehr

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

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

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

Urbacher Computer-Forum

Urbacher Computer-Forum 28.05.12 Vortrag: Unsere Webseite u-g-o und allgemeine Internetbegriffe Website Als Website, Webpräsenz, Webangebot, Webauftritt oder auch Netzauftritt wird ein ganzes Projekt im World Wide Web bezeichnet,

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

Python CGI-Skripte erstellen

Python CGI-Skripte erstellen Python CGI-Skripte erstellen CGI (Common Gateway Interface)... ist eine Schnittstelle, um Scripte im Web bereitzustellen. ist eine Schnittstelle zwischen einem HTTP-Server und ausführbaren Programmen.

Mehr

Programmieren der Untersuchung

Programmieren der Untersuchung Programmieren der Untersuchung Während in HTML viele Tags zur Formatierung und Beschreibung eines Textes zur Verfügung stehen, bieten Programmiersprachen wie z.b. PHP oder Java Script Strukturen die einen

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

Grundlagen der WWW- und Dokumenten-Architektur. Robert Strzebkowski TFH Berlin

Grundlagen der WWW- und Dokumenten-Architektur. Robert Strzebkowski TFH Berlin Grundlagen der WWW- und Dokumenten-Architektur Grundlagen der WWW- und Dokumenten-Architektur 1. Die Grundbestandteile vom World Wide Web 2. Das HTTP-Protokoll und 3. Was sind 'URL' und 'URI'? 4. Dynamische

Mehr

Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2

Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2 Mac OSX Consoliero Teil 14 Seite: 1/10 Mac OS X Consoliero Weiterführende Dokumentationen für Administratoren. Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2 Christoph Müller, PTS

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Programmieren von Webinformationssystemen

Programmieren von Webinformationssystemen Programmieren von Webinformationssystemen Nikolaus Krismer Databases and Information Systems (DBIS) Institute of Computer Science University of Innsbruck dbis-informatik.uibk.ac.at 1 PHP Ursprünglich:

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

KjG Webmaster / Webmistress

KjG Webmaster / Webmistress KjG Webmaster / 11.-13. Januar 2002 Web-Wochenende der KjG Speyer 1 Organisatorisches Räumlichkeiten Bistumshaus St. Ludwig Rechnerraum, Kleine Pfaffengasse 16 Rahmen, Zeitplan Zeitplan: Freitag 11.1.2002

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

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

Themen. Apache Webserver Konfiguration. Verzeichnisse für Web-Applikationen. Server Side Includes

Themen. Apache Webserver Konfiguration. Verzeichnisse für Web-Applikationen. Server Side Includes Themen Apache Webserver Konfiguration Verzeichnisse für Web-Applikationen Server Side Includes Apache Webserver Konfiguration des Apache Webservers Server-Einstellungen in der httpd.conf-datei Einteilung

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

MySQL, phpmyadmin & SQL. Kurzübersicht

MySQL, phpmyadmin & SQL. Kurzübersicht MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015 PHP MVC. Dr. Christian Senger. PHP MVC 1 von 21

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015 PHP MVC. Dr. Christian Senger. PHP MVC 1 von 21 PHP MVC PHP MVC 1 von 21 Model View Control Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP MVC 2 von 21 Webbasierte Informationssysteme WWW-Browser

Mehr

Ursprung des Internets und WWW

Ursprung des Internets und WWW Ursprung des Internets und WWW Ende der 60er Jahre des letzten Jahrtausends wurde in den USA die Agentur DARPA (Defense Advanced Research Projects Agency) gegründet, mit dem Ziel den Wissens und Informationsaustausch

Mehr

www.ev-forum-westfalen.de/efwm/

www.ev-forum-westfalen.de/efwm/ ZOLLER, Hanspeter 1/18 www.ev-forum-westfalen.de/efwm/ Was bedeuten IP, URL, DNS, HTML, PHP, CMS? Wie logge ich mich ein? Was bewirkt man mit den einzelnen Typo3-Symbolen ('icons')? Wie ändere ich den

Mehr

JavaScript und das Document Object Model 30.05.07

JavaScript und das Document Object Model 30.05.07 JavaScript und das Document Object Model Dynamische Seiten Bestreben von Netscape und Microsoft, HTML-Seiten dynamisch zu gestalten Schlagwort DHTML Netscape/Sun: JavaScript Microsoft: JScript Problem

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

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Arbeiten im Datennetz der Universität Regensburg

Arbeiten im Datennetz der Universität Regensburg Wiwi-Workshop Uni Regensburg April 2002 Arbeiten im Datennetz der Universität Regensburg - Einführung in HTML, Teil II Arbeiten mit AOLPress - Dr. Wirtschaftswissenschaftliche Fakultät Universität Regensburg

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

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1.

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1. Multimediale Web-Anwendungen JavaScript Einführung MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1 Entstehungsgeschichte: JavaScript 1995 Netscape Communications Corp. (Brendan Eich)

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

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

ARCHITEKTUR VON INFORMATIONSSYSTEMEN ARCHITEKTUR VON INFORMATIONSSYSTEMEN File Transfer Protocol Einleitung Das World Wide Web war ja ursprünglich als verteiltes Dokumentenverwaltungssystem für die akademische Welt gedacht. Das Protokoll

Mehr

Kurze Einführung in PHP

Kurze Einführung in PHP Kurze Einführung in PHP Dieser Text ist eine Art "Schnupperkurs" in Sachen PHP: Sie lernen Grundsätzliches über dynamische Webseiten und PHP. Außerdem lernen Sie drei typische Anwendungsbeispiele für PHP

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

Projekt Online-Shop:

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

Mehr

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

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

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011 Übung zur Vorlesung Multimedia im Netz Ludwig-Maximilians-Universität Wintersemester 2010/2011 Ludwig-Maximilians-Universität München Multimedia im Netz - Übung - 2-1 Übungsblatt - 2 Thema: HTML, PHP und

Mehr

Postgresql. Michael Dienert. 10. Dezember 2007. 1.1 Installationsort der Programme... 1

Postgresql. Michael Dienert. 10. Dezember 2007. 1.1 Installationsort der Programme... 1 Postgresql Michael Dienert 10. Dezember 2007 Inhaltsverzeichnis 1 Übersetzen und Installieren 1 1.1 Installationsort der Programme..................... 1 2 Einrichten einer Testdatenbank 1 2.1 Das Datenbank-Cluster.........................

Mehr

Client-Server-Prinzip

Client-Server-Prinzip Client-Server-Prinzip Kommunikation im Internet erfolgt nach dem Client-Server-Prinzip: Client sendet eine Anfrage (fordert eine Dienstleistung an) Server sendet die Antwort (bietet eine Dienstleistung

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

BERUFSBEGLEITENDE WEB-ABENDKURSE

BERUFSBEGLEITENDE WEB-ABENDKURSE BERUFSBEGLEITENDE WEB-ABENDKURSE ZIELGRUPPE Das Angebot richtet sich an Privatpersonen, Unternehmen sowie deren Mitarbeiter, die sich gezielt berufsbegleitend weiterbilden möchten. In kompakter und zielorientierter

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

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Glossar Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Methoden und/oder Eigenschaften, die eine bestimmte Berechnung ausführt, eine Eigenschaft ändert oder eine Methode

Mehr

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

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

Mehr

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1 Vorwort... Einleitung... V VII Einführung... 1 1 Grundlagen... 7 1.1 Dokumentmodelle... 7 1.1.1 Multimedia... 8 1.1.2 Hypermedia... 9 1.1.3 Verteilung... 11 1.2 Geschichte des WWW... 13 1.2.1 Struktur...

Mehr

Internet. DI (FH) Levent Öztürk

Internet. DI (FH) Levent Öztürk DI (FH) Levent Öztürk Inhaltsverzeichnis Definition Internet Geschichte Technik IP-Adresse Domain Name Internet Dienste Protokolle E-Mail 17.09.2012 DI (DH) Levent Öztürk 2 Definition Internet: Das Internet(von

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

Sessions mit PHP. Annabell Langs 2004. Sessions in PHP - Annabell Langs 1

Sessions mit PHP. Annabell Langs 2004. Sessions in PHP - Annabell Langs 1 Sessions mit PHP Annabell Langs 2004 Sessions in PHP - Annabell Langs 1 Sessions» Inhaltsverzeichnis Wozu Sessions? 3 Wie funktionieren Sessions? 5 Wie kann ich die Session-ID übergeben? 8 Sicherheit 9

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 Web-Technologien Überblick HTML und CSS, XML und DTD, JavaScript

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

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

PHP JavaScript Kapitel 9. Java-Script-Objekte und das Event-Modell

PHP JavaScript Kapitel 9. Java-Script-Objekte und das Event-Modell Java-Script-Objekte und das Event-Modell 1 Interaktions-Methoden des Window-Objekts

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

Herzlich willkommen im Modul Informatik Grundlagen

Herzlich willkommen im Modul Informatik Grundlagen Herbstsemester 2010/2011 Herzlich willkommen im Modul Informatik Grundlagen Wirtschaftsingenieurwesen: 1. Semester Dozent: Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Martin Hüsler 1 Ablauf: 1.

Mehr

Formulare in html Bernd Bl umel Version: 1. April 2003

Formulare in html Bernd Bl umel Version: 1. April 2003 Formulare in html Bernd Blümel Version: 1. April 2003 Inhaltsverzeichnis 1 Formulare 2 1 Kapitel 1 Formulare Formulare sind in html die einzige Interaktionsmöglichkeit mit den Benutzern unserer Internet

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

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

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

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

Kapitel 5 Serverseitige Technologien

Kapitel 5 Serverseitige Technologien Kapitel 5 Serverseitige Technologien Multimediale Web-Anwendungen Dr. E. Schön Sommersemester 2015 Folie 70 SSI-Beispiele Uhr

Mehr

Web Grundlagen zum Spidering

Web Grundlagen zum Spidering May 22, 2009 Outline Adressierung 1 Adressierung 2 3 4 Uniform Resource Locator URL Jede Seite im Internet wird eindeutig über eine URL identiziert, z.b. http://www.christianherta.de/informationretrieval/index.html

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

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

PHP. Prof. Dr.-Ing. Wolfgang Lehner. Diese Zeile ersetzt man über: Einfügen > Kopf- und

PHP. Prof. Dr.-Ing. Wolfgang Lehner. Diese Zeile ersetzt man über: Einfügen > Kopf- und 8. PHP Prof. Dr.-Ing. Wolfgang Lehner Diese Zeile ersetzt man über: Einfügen > Kopf- und PHP PHP (Hypertext Preprocessor) Serverseitige Skriptsprache (im Gegensatz zu JavaScript) Hauptanwendungsgebiet:

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

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

Literatur und Links. Webtechnologien WS 2015/16 Teil 1/Entwicklung

Literatur und Links. Webtechnologien WS 2015/16 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

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

Recherchebericht. Eine URL (Uniform Resource Locator; dt. einheitlicher Quellenanzeiger ) lokalisiert eine Ressource, wie eine Website, und ihren Ort.

Recherchebericht. Eine URL (Uniform Resource Locator; dt. einheitlicher Quellenanzeiger ) lokalisiert eine Ressource, wie eine Website, und ihren Ort. Recherchebericht Begriffe: Ein Betriebssystem ist eine Software, die die Schnittstelle zwischen den Hardwarekomponenten und der Anwendungssoftware bildet. Es verwaltet die Hardwareressourcen, wie Arbeitsspeicher,

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

24.04.2010 Statistik für www.faustballcenter.ch (2009)

24.04.2010 Statistik für www.faustballcenter.ch (2009) 24.04.2010 Statistik für www.faustballcenter.ch () Statistik für: www.faustballcenter.ch Zuletzt aktualisiert: 24.04.2010-02:53 Zeitraum: - Jahr - OK Wann: Wer: Navigation: Verweise: Sonstige: Monatliche

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