Web-basierte Anwendungssysteme PHP-Einführung

Ähnliche Dokumente
Übung zur Vorlesung Multimedia im Netz

MIT3 Serverseitige Programmierung. Claudius Coenen

Multimedia im Netz Wintersemester 2011/12

Grundlagen Internet-Technologien. Clientseitige Web-Programmierung

Dynamische Webseiten mit PHP. Oder: LAMP - The open way

Einführung in PHP. NLI-Kurs BBS am Museumsdorf Cloppenburg Außenstelle Löningen

Web-basierte Anwendungssysteme PHP Teil 2

Medien und Webtechnologie

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

PHP. M.Sc. Nadine Preuß Geographische Analyse- und Darstellungsmethoden WS 15/

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

DOM Document Object Model

JavaScript und PHP-Merkhilfe

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

PHP eine Einführung. Dipl.-Inf. Frank Hofmann. 18. November Potsdam

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.

Internet. HTML Programmierung Grundlagen HTML Programmierung für Fortgeschrittene CGI Programmierung PHP Programmierung Programmieren mit JavaScript

Prinzipien der Softwareentwicklung S. Strahringer

Grundlagen. Wie sind PHP-Dateien aufgebaut?

Thomas Theis PHP4. Webserver-Programmierung für Um- und Einsteiger. Galileo Press

Formulare mit HTML. Beispiele. Beispiele & Nutzen. Web. Fach: Klasse: BW2. Datum: (Freitag) Agenda zu HTML und PHP

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

Node.js Einführung Manuel Hart

Einführung in die Scriptsprache PHP

Skripten werden in HTML mit Hilfe des Skript-Tags eingefügt:

Web-Anwendungen Teil 2 PHP kl. Studienprojekt (Praktikum) Winter 2014/ Daniel Fett

Programming 101. Carl Herrmann IPMB & DKFZ

Freie Markierung Die Templating-Engine FreeMarker im Einsatz

Programmieren von Webinformationssystemen

Scriptsprachen für dynamische Webauftritte

Virtuelle Realität und Simulation - Übung 2

Klaus Schmidt PHP 4. Computer & Literatur Verlag GmbH

JavaScript clientseitige Programmiersprache zur Dynamisierung von Internetseiten

Programmieren im Web 2.0

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Kompendium der Web-Programmierung

01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion

Web-Techniken Einführung in JavaScript

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Erste Java-Programme (Scopes und Rekursion)

Datenbanksysteme SS 2007

Datenbanken und Netzanbindung

Programmieren I + II Regeln der Code-Formatierung

JavaScript O'REILLY. Das umfassende Referenzwerk. Deutsche Übersetzung von Ralf Kuhnert, Gisbert W. Selke & Harald Selke

HTML Scripting. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 06. Dezember 2017

Programmieren von Webinformationssystemen

Einstieg in die Informatik mit Java

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Internettechnologien Vorlesung für Master-Studierende Geoinformatik/-management Sommersemester 2016

FileMaker und PHP Workshop

Java - Webapplikationen

JavaScript Basiskonzepte

WS2018/ Oktober 2018

Internetanbindung von Datenbanken

Grundlagen Internet-Technologien INF3171

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Einstieg in die Informatik mit Java

Kapitel 5 Serverseitige Technologien

2. Programmierung in C

Web-Programmierung (WPR)

Übungsblatt 2. Java Vorkurs (WS 2017)

Internettechnologien Vorlesung für Master-Studierende Geoinformatik/-management Sommersemester 2017

Java Server Pages (JSP)

J a v a S e r v l e t s

EINFÜHRUNG IN DIE PROGRAMMIERUNG

Client/Server-Programmierung

Kontrollstrukturen MySQL Funktionen. MySQL 4, 5. Kapitel 20a: PHP Teil 2. Marcel Noe

Kommunikationsnetze. 7. Das World Wide Web 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten

JSP Direktiven. Präprozessor-Anweisungen, die in die JSP-Datei eingebettet sind und vor dem eigentlichen Übersetzungsvorgang ausgeführt JSP

Mobile Anwendungsentwicklung - Überblick über ios & Swift I -

Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13

Programmieren I + II Regeln der Code-Formatierung

Java Spickzettel von Panjutorials.de

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Linux-Camp: Linux als Server am Beispiel LAMP

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

2. WWW-Protokolle und -Formate

Python Intro I. Vorsemesterkurs Informatik Praktischer Teil WS 2013/14. 1.Oktober Vorkurs Informatik - WS 2013/14

JavaScript Die ersten Schritte. Holger Chudek Perfect Chain

Transkript:

Web-basierte Anwendungssysteme PHP-Einführung Prof. Dr. Armin Lehmann (lehmann@e-technik.org) Fachbereich 2 Informatik und Ingenieurwissenschaften Wissen durch Praxis stärkt Seite 1 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Wiederholung HTTP-Client-Server-Kommunikation Client sendet Anfragen (Requests), z.b. GET, POST Server antwortet (Response) mit z.b. HTML-Inhalt Client möchte HTML-Inhalte darstellen Server stellt hierzu Dateien bereit Seite 2 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Clientseitige Dynamik Browser Request Web Server Response Skript Browser Engine kann Skripte ausführen Skript ist Bestandteil der Response des Servers Web Server braucht Skripte nicht zu kennen Z.B. JavaScript Seite 3 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Serverseitige Dynamik Browser Request Web Server Response Web Server besitzt Maschine zum Ausführen des Skripts Skript wird vor Response ausgeführt und erstellt HTML-Inhalte Browser hat keine Kenntnis über Skriptsprache z.b. PHP Seite 4 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Technologien Common Gateway Interface (CGI) + Ermöglicht den Aufruf beliebiger Prozesse auf dem Server (z.b. C-Programm) + Programm generiert HTML-Inhalt für Response + Häufig Verwendung von Skriptsprachen (z.b. Python) Seite 5 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Technologien Requests Hauptprozess Kindprozess 1 CGI-basierter Server Kindprozess N Requests Hauptprozess Einziger Kindprozess FastCGI-basierter Server Seite 6 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Technologien Einbettung von Programmiersprachen + Z.B. Java Servlets, Aufruf mittels standardisiertem API + Generierung von Servlets aus Skript-ähnlichen Sprachen, z.b. Java Server Pages (JSP) + Geeignet für größere Web-Anwendungen Seite 7 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Technologien Requests Einzelprozess (Container) Threads Servlets JAVA Server Dispatcher Seite 8 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Skriptsprache PHP + ursprünglich: Personal Home Page Toolkit + PHP Hypertext Preprocessor OpenSource Entwicklung (www.php.net) Einfache Kernsprache, umfangreiche Bibliotheken + Daher relativ unübersichtlich + Spezialisiert auf Programmierung von Web-Seiten Seite 9 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Voraussetzungen Installation eines Web Servers z.b. Apache Plug-In für PHP Praktisch wäre auch eine Datenbank (z.b. MySQL) Vorgefertigte Lösungen: + LAMP Linux, Apache, MySQL, PHP + WAMP Windows, Apache, MySQL, PHP + MAMP Mac OS X, Apache, MySQL, PHP Seite 10 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Dateisystem (L/W/M)AMP-Server Architektur doc root P PHP Interpreter HTML php libapache2-mod-php5 php5-mysql XML A apache Web Server M MySQL Server L/W/M Betriebssystem Netzwerkkarte Seite 11 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Erstes Beispiel <html> <head><title>hello World mit JavaScript</TITLE></head> <body> <h1> <script type="text/javascript"> document.write("hello World!"); </script> </h1> </body> </html> JavaScript <html> <head><title>hello World mit PHP</title></head> <body> <h1> <?php echo "Hello World!";?> </h1> </body> </html> PHP Seite 12 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Einbettung in HTML XML-Stil (bitte verwenden): + <?php PHP-Text?> PHP-Skript besteht aus + Text (z.b. HTML) + Skriptbegrenzern + PHP Skriptcode (Befehle) Datei mit PHP-Skript trägt die Endung.php Seite 13 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Syntax Befehlszeilen enden immer mit einem Semikolon Kommentare + // oder # sind einzeilige Kommentare + /* */ mehrzeiliges Kommentar Alle Schlüsselwörter (z.b. if, else, while, echo, etc.), Klassen, Funktionen, und selbstdefinierte Funktionen sind NICHT Case- Sensitiv!!! (z.b. echo oder ECHO) Variablen fangen immer mit $ an, z.b. $farbe (ACHTUNG: Case-Sensitiv) Seite 14 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Variablen Fangen immer mit $ an gefolgt vom Namen der Variable Der Name muss mit einem Buchstaben oder Unterstrich beginnen Erlaubte Zeichen sind A-z, 0-9, und _ Strings müssen zwischen Hochkommata definiert werden $txt = "Hello world!"; $x = 5; $y = 10.5; Seite 15 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Variablen Anzeigen im Browser <?php?> Variablen addieren <?php?> $txt = Test"; echo Das ist ein $txt!"; echo Das ist ein". $txt. "!"; $x = 5; $y = 4; echo $x + $y; Seite 16 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Variablen Geltungsbereiche + lokal, global oder statisch <?php $y = 3; //global function test(){ $x = 5; // lokal global $y; // Zugriff auf globale Var. static $z = 0; // statisch $z++; echo "x=$x y=$y z=$z <br>"; } test(); test();?> Seite 17 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Datentypen <?php $a = "Hello world!"; // String $b = 'Hello world!'; // String $n = 5985; // Integer $f = 10.365; //Float $x = true; // Boolean $y = false; // Boolean $cars = array("volvo","bmw","toyota"); var_dump($cars); $a = null; var_dump($a);?> Seite 18 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Bedingungen if-bedingung if...else-bedingung if...elseif...else-bedingung switch-bedingung <?php?> switch(date("w")) { case 2: echo "Verdammt, Vorlesungstag"; break; default: echo "Hurra, keine Webbasierte Anwendungen"; break; } Seite 19 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Schleifen while-schleife do...while-schleife For-Schleife Foreach-Schleife <?php $colors = array("red", "green", "blue", "yellow");?> foreach ($colors as $value) { echo "$value <br>"; } Seite 20 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Funktionen <?php?> function sum($x, $y) { $z = $x + $y; return $z; } echo "5 + 10 = ". sum(5, 10). "<br>"; echo "7 + 13 = ". sum(7, 13). "<br>"; echo "2 + 4 = ". sum(2, 4); Seite 21 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Arrays Arrays werden mit der Funktion array() erstellt Drei Typen von Arrays existieren: + Indexed Arrays (nummeriert) + Associative Arrays (Namen als Schlüssel) + Multidimensional Arrays Seite 22 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Arrays Indexed Array <?php //ODER $cars = array("volvo", "BMW", "Toyota"); $cars[0] = "Volvo"; $cars[1] = "BMW"; $cars[2] = "Toyota"; echo "Auto 1". $cars[0].; //Ausgabe $arrlength = count($cars); // Länge des Arrays?> for($x = 0; $x < $arrlength; $x++) { echo $cars[$x]; echo "<br>"; } Seite 23 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

PHP-Arrays Associative Array <?php //ODER?> $age = array("ian"=>"35", "Ben"=>"37", "Joe"=>"43"); $age['ian'] = "35"; $age['ben'] = "37"; $age['joe'] = "43"; echo "Ian ist ". $age['ian']. //Ausgabe foreach($age as $x => $x_value) { echo "Key=". $x. ", Value=". $x_value; echo "<br>"; } Seite 24 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Literatur http://de.html.net/tutorials/php/ http://www.w3schools.com/php/default.asp http://php.net/manual/de/index.php Seite 25 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17