Weborientierte Programmiersprachen am am Beispiel PHP

Größe: px
Ab Seite anzeigen:

Download "Weborientierte Programmiersprachen am am Beispiel PHP"

Transkript

1 Weborientierte Programmiersprachen am am Beispiel PHP Seminar Programmiersprachen SS 2004 Serak Rezane FG Programmiersprachen/-methodik FB Elektrotechnik/Informatik Universität Kassel Betreuer: Prof. Dr. Claudia Leopold Dipl. Inf. Michael Süß Inhalt Einleitung Sprachfamilie der weborientierten Skriptsprachen Funktionsumfang von PHP Sprachumfang von PHP Warum PHP? Zusammenfassung

2 Vorwort Die vorliegende Arbeit entstand im SS 2004 im Rahmen der Veranstaltung Programmiersprachen im Fachgebiet Programmiersprachen/-methodik des Fachbereichs Elektrotechnik/Informatik der Universität Kassel. Sie soll einen groben Überblick über die charakteristischen Merkmale, die Besonderheiten, mögliche Einsatzgebiete und die Ziele der Skriptsprache PHP geben. 1. Einleitung Immer mehr Adressen im World Wide Web bieten ihren Besuchern mehr als Informationen auf statischen Webseiten. Es gibt diverse Interaktionsmöglichkeiten, wie zum Beispiel Suchfunktionen, die bei Suchmaschinen oder Online-Shops Anwendung finden. Andere Adressen ermöglichen es, dem Besucher sich die Webseite individuell darstellen zu lassen oder sogar persönlich am Erscheinungsbild der Seite teilzunehmen, wie z.b. Foren, Newsgroups. Für all diese Anwendungen sind aber dynamische Webseiten erforderlich, also Seiten, deren endgültiges Erscheinungsbild erst im Moment des Aufrufs automatisch generiert wird. HTML (HyperText Markup Language) ist eine Seitenbeschreibungssprache und bietet daher weder die Möglichkeit Programmiercode abzuarbeiten, noch auf Systeminformationen, Datei- oder Datenbanksysteme zuzugreifen. Serverbasierte Skriptsprachen bieten Webdesignern heute viele Möglichkeiten, Inhalte dynamisch aufzubauen und so auf jeden Benutzer individuell zuzuschneiden. Ein Vertreter aus dieser Sprachfamilie heißt PHP: Hypertext Preprocessor, kurz PHP. Es handelt sich hierbei um eine in HTML eingebettete, plattformunabhängige und auf Web-Programmierung ausgerichtete Skriptsprache. Sie ermöglicht es, Anweisungen in HTML-Code einzufügen, um dynamische Inhalte zu erzeugen. Sie unterscheidet sich von clientseitigen Sprachen, wie JavaScript dahingegen, dass die Anweisungen vom Webserver gelesen, verarbeitet und ausgeführt werden. Rasmus Lerdorf entwickelte 1994 die erste PHP-Version und veröffentlichte sie im Juni 1995 in einer Usenet-Newsgruppe unter dem Namen Personal Home Page Tools. Ursprünglich handelte es sich dabei um eine Ansammlung von verschiedenen PERL-Skripten, die die Zugriffe auf seinen Webauftritt erfassten. Aus der ursprünglichen Implementierung wurde das in C geschriebene PHP/FI (PHP Form Interpreter). Zeev Suraski und Andi Gutmans schrieben 1997 den Sprachkern neu, der sich dann zur Grundlage von PHP 3 entwickelte. Da PHP von Anfang an Open Source war, wuchs die Anzahl der Funktionen und der Benutzer in beträchtlichem Maße. PHP ist zurzeit die aktuellste Version von PHP, aber die Freigabe von PHP 5 steht kurz bevor. 2

3 2. Sprachfamilie der weborientierten Skriptsprachen Es gibt bisher keine eindeutige und einheitliche Definition für Skriptsprachen. In der Literatur werden Skriptsprachen bzw. weborientierte Skriptsprachen anhand ihrer Eigenschaften und Einsatzgebiete klassifiziert (vgl. David Barron [Bar00]). Deshalb möchte ich mich an dieser Stelle ebenfalls darauf beschränken, typische Merkmale und mögliche Anwendungsgebiete vorzustellen, die aber nicht als allgemeingültig verstanden werden sollten Skriptsprachen Skriptsprachen stammen traditionell aus dem Bereich der Kommandozeileninterpreter (z.b. UNIX Shell). Im Laufe der Jahre haben sich moderne Skriptsprachen herausgebildet, die den normalen" Programmiersprachen auch hinsichtlich ihrer Abstraktionsmöglichkeiten (z.b. Objektorientierung) recht nahe kommen. Solche Sprachen sind im Kern allgemein verwendbar, jedoch für Spezialaufgaben konzipiert und häufig zweckgebunden eingesetzt. Es gibt beispielsweise Skriptsprachen, die Teil eines Anwenderprogramms sind und zur Automatisierung von Aufgaben oder zur Erweiterung von dessen Fähigkeiten dienen sollen. Ein bekanntes Beispiel ist Visual Basic for Applications (VBA), die Skriptsprache in Microsofts Office-Programmen. Anwender können somit neue Funktionen erzeugen, bestehende abändern und Aufgaben automatisieren (Makros). Auch webbasierte Skriptsprachen wie JavaScript oder PHP fallen in diese Kategorie Weborientierte Skriptsprachen Weborientierte Skriptsprachen sind Skriptsprachen, die speziell für die Web-Programmierung geschaffen wurden. Sie werden grundsätzlich in client- und serverseitige unterschieden. Bei clientseitigen weborientierten Skriptsprachen, zu denen JavaScript zählt, wird der Programmcode zuerst vom Server an den Webbrowser übertragen und danach ausgeführt. Das heißt, mit JavaScript kann unmittelbar auf Benutzeraktionen (Mausklicks oder Tastatureingaben) reagiert werden. Durch die clientseitige Orientierung hat man die Möglichkeit, auf das System des Benutzers mit Einschränkungen zuzugreifen. So kann man z.b. Fensterpositionen und -größen verändern, die Bildschirmauflösung bestimmen, Inhalte dynamisch verändern etc. Man muss aber dazu sagen, dass die Skripte nur vorher festgelegte Befehle ausführen können. Im Gegensatz dazu werden serverseitige Skripte direkt am Server ausgeführt, ohne dass der Benutzer den Programmcode kennt. Die Skripte generieren während der Ausführung normalen" HTML-Code, der übertragen wird. Deshalb hängt die Performance vom Server ab. 3

4 Programmiersprachen wie C werden normalerweise verwendet, um eine Applikation von Grund auf zu programmieren, inklusive sämtlicher Algorithmen, Datenstrukturen und gegebenenfalls graphischen Benutzerschnittstellen. Ein bezeichnendes Merkmal liegt darin, dass ein Compiler ein Programm komplett in Maschinencode übersetzt, bevor man es ausführen kann. Während der Entwicklung muss immer wieder neu übersetzt werden. Dafür ist das fertige Programm dann sehr schnell, da viele Prüfungen schon während der Übersetzungsphase gemacht werden können und zur Laufzeit wegfallen. Ein Programm, das in einer weborientierten Skriptsprache geschrieben wird, besteht dagegen üblicherweise aus einer gewöhnlichen Textdatei, deren Inhalt Zeile für Zeile die verschiedenen Kommandos enthält. Dabei bleibt der gesamte Code als String gespeichert und es findet keine explizite Übersetzung statt. Bei Programmausführung wird die Textdatei an den Interpreter übergeben, der dann die verschiedenen Kommandos entsprechend interpretiert und ausführt. Deshalb werden Skriptsprachen für gewöhnlich als interpretierte Sprachen bezeichnet, was nicht heißt, dass sie es alle sind, sondern sich zumindest so verhalten, als wären sie interpretiert. Bei den weborientierten Programmiersprachen ist es oft nicht zwingend erforderlich, eine Variable zu deklarieren. Diese Eigenschaft nennt man dynamische Typisierung. Diese Sprachen ermöglichen teilweise objektorientiertes Programmieren und unterstützen eine komfortable Speicherverwaltung in Form einer Garbage Collection, die übliche Probleme bei der Verwaltung des Speicherplatzes umgeht PHP als weborientierte Skriptsprache In diesem Abschnitt werde ich, die obengenannten Merkmale und Einsatzgebiete der weborientierten Skriptsprachen in PHP genauer betrachten und mögliche Abweichungen aufzeigen. Betrachtet man die Geschichte (vgl. Einleitung) von PHP, ist zu erkennen, dass diese Sprache seit Beginn an auf das Einsatzgebiet der Web-Programmierung ausgerichtet ist und somit als weborientiert bezeichnet werden kann. PHP wird serverseitig eingesetzt und kann vom Benutzer nicht eingesehen werden. Ein PHP-Skript ist nicht auf eine vorher festgelegte Art oder Anzahl an Befehlen und Funktionen gebunden. Grundsätzlich ist es möglich, fast jede Art von Aufgaben programmiertechnisch zu lösen, aber ob PHP das optimale Werkzeug darstellt, hängt vermutlich vom Einsatzgebiet ab. PHP funktioniert grundsätzlich wie andere interpretierte Skriptsprachen und anders als richtige Compilersprachen wie C oder C++, obwohl seit PHP 4 intern Bytecode erzeugt wird, der aber nach jedem Request weggeworfen wird. Denn PHP 4 ist ein Bytecode-Compiler, der beim Programmstart aufgerufen wird und das komplette Programm in eine interne Darstellung 4

5 einer virtuellen Maschine überführt. Danach beginnt die Interpretation des Bytecodes der Virtual Machine. Dies ist dasselbe Funktionsprinzip wie bei Perl, und ähnlich dem von Java, bei dem jedoch im Unterschied dazu der Compiler explizit aufgerufen werden muss. Das entspricht einer leichten Abweichung von der klassischen Definition einer interpretierten Sprache, die ohne Compiler arbeitet. Mittlerweile erzeugen einige interpretierte Sprachen einen sogenannten Bytecode, um die schlechtere Performance gegenüber kompilierten Sprachen zu kompensieren. Ein weiteres Merkmal von PHP besteht in der dynamischen Typisierung von Variablen, d.h der Typ einer Variablen muss nicht explizit festgelegt werden, da er sich in PHP dynamisch durch Zuweisung ergibt. Weiterhin unterstützt PHP die Objektorientierte Programmierung (OOP). Es werden Klassen und Vererbung unterstützt. Zwar ist die von PHP unterstützte OOP nicht so stark ausgeprägt, für eine weborientierte Skriptsprache jedoch recht umfangreich. Die Verwaltung des Speicherplatzes übernimmt die Garbage Collection. 3. Funktionsumfang von PHP 3.1. Was kann PHP PHP ist hauptsächlich auf serverseitige Skripte fokussiert, weshalb sie alles tun kann, was auch ein anderes CGI Programm kann, wie z.b. Formulardaten sammeln, dynamische Inhalte für Websites generieren oder Cookies senden und empfangen. Aber PHP kann noch viel mehr. [phpman04] Es gibt drei Gebiete, in denen PHP Skripte eingesetzt werden können: 1. Serverseitige Skripte zur Benutzung mit einem Browser. 2. Skripte auf der Kommandozeile, z.b. zur Automatisierung von Aufgaben. Hierfür wird nur der Interpreter benötigt und weder Browser noch Web-Server. 3. Clientseitige GUI-Applikationen, d.h. komplexere Programme mit eigener Benutzeroberfläche, obwohl PHP hierfür nicht unbedingt die optimale Lösung darstellt. Da der serverseitige Einsatz von PHP sehr weit verbreitet ist, werde ich mich in den folgenden Kapiteln auf das Einsatzgebiet der Web-Programmierung beschränken. 5

6 3.2. Voraussetzungen für die PHP-Programmierung PHP kann auf allen gängigen Betriebssystemen, wie Linux, vielen Unix-Varianten, Microsoft Windows oder Mac OS X verwendet werden. Außerdem unterstützt PHP auch die meisten der gebräuchlichen Web-Server wie Apache, Microsoft Internet Information Server, OmniHTTPd und viele weitere. Üblicherweise wird PHP von vielen Anbietern (Web-Hosts) unterstützt, wobei man lediglich die.php-dateien erstellen und sie in das Web-Verzeichnis legen muss. Der Server parst sie dann automatisch. Falls man aber lokal entwickeln und testen möchte, muss man die nötigen Programme installieren. Man kann diese Programme entweder eins nach dem anderen selbst installieren oder nach einem vorkonfigurierten Paket suchen. In diesem Fall gibt es die Möglichkeit, sogenannte LAMP oder WAMP Kombinationen zu nutzen. LAMP beschreibt die Kombination aus dem Betriebssystem Linux, dem Web-Server Apache, der Datenbank MySQL und der Skriptsprache PHP bzw. Perl. Diese Zusammenstellung wird aufgrund ihrer Leistungsfähigkeit und der kostenlosen Verfügbarkeit immer häufiger als Basis für interaktive Web-Seiten gewählt. Neben LAMP gibt es noch WAMP, wobei es sich hierbei um die Verwendung unter Windows handelt. PHP unterstützt ebenfalls die Erweiterung durch Werkzeuge wie Optimizer, Debugger oder Profiler als sogenannte Plug-In-Module, die sowohl kommerziell, als auch kostenlos zu beziehen sind [php4faq] Wie funktioniert PHP? Bei der PHP-Programmierung wird nicht HTML in die Programmiersprache eingebettet, sondern PHP in HTML eingebunden. Diese Dateien heißen dann nicht mehr.html oder.htm, sondern.php3 oder.php. An dieser Dateiendung erkennt der Webserver, dass es sich um eine in PHP geschriebene Datei handelt und ruft den PHP-Präprozessor auf, bevor die Datei an den Benutzer geschickt wird. Für die Einbindung in HTML gibt es mehrere Möglichkeiten, allen gemeinsam ist jedoch, dass der eigentliche PHP-Code zwischen einem öffnenden und einem schließenden Tag steht, der den Code für den PHP-Interpreter markiert: <?php...?> <??> <script language= php > </script> <% %> 6

7 Bespiel 1: <html> <body> <?php echo "Hallo, heute ist der".date( d.m.y );?> </body> </html> Wenn diese Seite nun vom Server aufgerufen wird, zeigt der Browser Hallo, heute ist der... (incl. des aktuellen Datums) an. Der Befehl echo gibt Texte auf dem Bildschirm aus und die Funktion date() ermittelt das aktuelle Datum auf dem Server. Wenn man nun den Quellcode der ausgegebenen Seite betrachtet, dann fällt auf, dass der PHP-Code durch HTML ersetzt wurde. Dies liegt daran, dass der Code vom Server verarbeitet und als HTML zurück an den Browser gesendet wurde. Die Codebereiche vor und nach dem PHP-Code sind also statisch, der Teil innerhalb des Body-Tags in diesem Beispiel wird für die Ausgabeseite dynamisch erzeugt. PHP Anweisungen werden wie in C durch ein Semikolon abgeschlossen. Wenn dieses vergessen wird, führt dies immer zu Fehlern bei der Verarbeitung des Skripts auf dem Server Ablauf einer PHP-Anfrage An dieser Stelle möchte ich kurz den Datenfluss bei Aufruf einer Webseite erläutern. Abbildung 1: Datenfluss Ein Client schickt eine Anfrage (HTTP Request) über seinen Browser an den Web-Server. Der Server reicht die Anfrage an PHP weiter, falls die Dateiendung darauf hinweist, dass es sich um eine Seite mit PHP-Code handelt. Nun wird die entsprechende Datei von der Festplatte des Servers (Web Server Disk) geladen. Diese Dateiendung ist das versionsneutrale.php, sowie.php3 und.php4 für die PHP Versionen 3 und 4. Falls es sich um eine PHP-Datei handelt, wird sie zur Bearbeitung an den PHP-Prozessor übergeben, der die in den Tags stehenden Befehle herausfiltert, interpretiert und die 7

8 entsprechenden Stellen in der HTML-Datei durch den Output des PHP-Skripts ersetzt. Die erhaltene Ausgabe (z.b. HTML-Code) wird an den Web-Server geliefert. Letztendlich schickt der Web-Server die Ausgabe an den Client Funktionen PHP verfügt schon in seiner grundlegenden Form über eine sehr große Anzahl verschiedener Bibliotheken und Funktionen, daher werde ich mich auf einige wenige beschränken. In der Literatur, wie von Wenz und Hauser [WeHa04] beschrieben, wird oft betont, dass die Datenbank- und Dateifunktionen eine der größten Stärken von PHP darstellen. Es werden zahlreiche Datenbanken, allen voran die des Datenbankmanagementsystems MySQL unterstützt. Große Webseiten kommen heutzutage kaum ohne eine Datenbank aus, wobei die Geschwindigkeit und der Umfang der Zugriffsmöglichkeit durch die Skriptsprache einen entscheidenden Einfluss auf die Qualität der Seite haben. Neben MySQL werden zahlreiche Datenbanken durch PHP direkt unterstützt, wie Adabas D, Informix oder ODBC. Darüber hinaus existieren Funktionen für die allgemeinen Datenbankschnittstellen des SQL-Standards, so dass auch nicht direkt unterstützte Datenbanken mit PHP zusammenarbeiten können. Kleinere Datenmengen können auch in Textdateien abgelegt werden. Dies war vor allem interessant, als die Anbieter von billigerem Webspace zwar PHP, jedoch keine Datenbanken bereitstellten. Die Dateifunktionen beinhalten die Möglichkeit zum Auslesen und Manipulieren, sowie das Packen und Entpacken von Verzeichnissen und Dateien. PHP stellt auch Funktionen zum Zugriff auf Dateien durch das File Transfer Protokoll (FTP) bereit, was teilweise mit der Möglichkeit zum Dateiupload durch Besucher einer Webseite gekoppelt wird. Das Erzeugen generischer Bilder, das durch die GD-Bibliothek von PHP ermöglicht wird, eignet sich zum Einsatz bei graphischen Countern sowie für zugbasierte Online-Spiele. Mit PHP lassen sich sogar PDF-Dateien und Shockwave-Flash-Animationen erzeugen. Für alle weiteren Funktionen verweise ich auf das PHP Handbuch, das stets aktuell alle verfügbaren Funktionen beschreibt. 4. Sprachumfang von PHP 4.1. Sprachelemente Im Folgenden werde ich kurz anhand eines Beispiels auf einige Sprachelemente von PHP eingehen und verweise für tiefergehende Informationen über die Syntax auf das PHP Handbuch [phpman04]. 8

9 Die Syntax von PHP ähnelt stark der von C, diese ist auch Grundlage für andere Programmiersprachen wie C++ und Java, wobei man sagen muss, dass sie sehr bei weitem nicht so komplex ist. Anders als in modernen Hochsprachen, in denen oft versucht wird, Funktionalität nicht in der Sprache selbst, sondern in optionalen Zusatzmodulen zu verankern, bietet PHP von Haus aus einen für die Web-Programmierung umfassenden Sprachschatz. Der Programmierer muss nicht erst auf die Suche nach vorhandenem Code gehen, sondern hat meist die notwendigen Befehle, z.b. für Strings oder Cookies, verfügbar. Beispiel 2: <html> <head> <title>php Beispiel</title> </head> <body> <h1>beispiel mit einer globalen Variable</h1> <?php //das ist ein Kommentar $number = 13; function showit() { global $number; echo Hier ist die Zahl: $number ; print ( Hier ist die $number nochmal! ); } showit(); /* Das ist auch ein Kommentar */?> </body> </html> Was in Beispiel 2 auffällt ist, dass es in PHP anscheinend keine Datentypen gibt. Variablen, die durch das $-Zeichen gekennzeichnet werden, kann ein beliebiger Wert zugewiesen werden, da die Typbestimmung von PHP intern ermittelt wird. Auf der einen Seite mag dies für Anfänger eine Erleichterung darstellen, aber es kann ebenfalls schnell zu Fehlern führen, falls die Programmierer nicht darauf achten, welchen Typ eine Variable gerade hat. Es sind jedoch casts wie in C erlaubt, mit denen man den Typ selbst festlegen kann. In diesem Beispiel wird der Variablen number der int-wert 13 zugewiesen und wie aus anderen Sprachen bekannt, gelten Variablen nur innerhalb des Gültigkeitsbereichs in dem sie definiert werden. In der Funktion showit würde die Variable 9

10 daher nicht sichtbar sein. Mit dem Schlüsselwort global kann man PHP aber mitteilen, dass die Variable in einem globalen Zusammenhang bereits existiert. Die Variable wird damit samt Inhalt übernommen und Änderungen an der Variablen wirken sich dann natürlich auch global aus. Das Beispiel macht nichts anderes als zweimal den Text auszugeben, der den Wert der Variablen number enthält. Dabei wurden die echo-anweisung und die print-funktion benutzt. Der Unterschied ist, dass echo keine Funktion ist und je nach Anwendungsgebiet kann sich die eine oder die andere Methode besser eignen. Auch wenn das Beispiel nur einen kleinen Teil des Sprachumfangs von PHP zeigt, ist jedoch erkennbar, dass die Syntax sich stark an anderen Sprachen orientiert und erfahrene Programmierer sich schnell zurechtfinden können. Mit Hilfe der besonderen Befehle require() und include() können andere Dateien in ein Skript geladen werden, was die Modularisierung von PHP unterstützt. Alle arithmetischen, logischen, Vergleichs- und Bitoperatoren sind analog zu C definiert. Es existiert ein sogenannter Fehlerkontrolloperator, der mit vor einem Ausdruck angegeben wird, der mögliche Fehler unterdrückt und Fehlermeldungen ausgibt. PHP unterscheidet nicht zwischen Vektoren und assoziativen Arrays, d.h. dasselbe Array kann sowohl mit Nummern als auch mit Strings indiziert werden. Wie in C++ kennt PHP zwar Referenzen auf Variablen, aber keine Pointer. Die grundlegenden Kontrollstrukturen unterscheidenen sich nicht von denen in C, JavaScript oder Java. So kann man ebenfalls auf if-schleifen und ihre Varianten zurückgreifen, genauso wie auf while- und for-schleifen. Für die Parameterübergabe an nachfolgende Seiten sind die GET- und POST-Methoden zuständig.die GET-Methode erlaubt eine einfache Weitergabe von Informationen an nachfolgende Seiten eines Webservers. Die Daten werden bei der Get-Methode mit Hilfe der URL transportiert. Die POST-Methode sollte hingegen verwendet werden, wenn erstens große Datenmengen an eine Folgeseite übergeben werden müssen und zweitens, wenn eine Manipulation der Übergabewerte erschwert werden soll. Die POST-Methode verwendet das Formularelement von HTML. Die Daten werden nicht über die URL transportiert und sind somit für den Benutzer bei der Übergabe nicht sichtbar. Die Formularelementenamen können generell auf der Folgeseite als Variablen angesprochen werden. Obwohl PHP die Fähigkeit besitzt, mit Klassen umzugehen und sich damit von einigen anderen Programmiersprachen abhebt, werden Java oder C++ Programmierer wahrscheinlich etwas enttäuscht sein. Es gibt keine strenge Vererbungslehre oder Polymorphismus wie in C++. Das macht auch wenig Sinn, wenn man bedenkt, dass alle definierten Klassenobjekte nach der Abarbeitung eines PHP-Skriptes wieder zerstört werden und somit nur temporär im RAM des Servers enthalten sind. Dennoch sind Klassen mächtige Werkzeuge bei umfangreicheren 10

11 Projekten, was noch mal zur Übersichtlichkeit und Wartungsfreundlichkeit des Codes beiträgt [LeTa03] Sprachentwurf Wie unterstützt der Sprachentwurf von PHP die allgemeinen Ziele Verständlichkeit, Zuverlässigkeit, Effizienz und Portabilität? PHP verfügt von Anfang an über eine große Menge an Erweiterungsmodulen für verschiedene Anwendungszwecke. Die Syntax ist an die von C und Java angelehnt, auf diese Weise baut PHP kaum Einstiegshürden auf. Zusammen mit dem hervorragenden PHP Handbuch kommen sogar Einsteiger schnell zu brauchbaren Ergebnissen. Mit PHP kann man zwar eigene Funktionen erstellen, aber diese stehen meist in der gleichen Datei wie der HTML-Code. Möglichkeiten zur Trennung von Programm-Logik und Darstellungen sind bei PHP nur ansatzweise vorhanden. Bei schnell entwickelten Anwendungen besteht die Gefahr, dass sie sich letztlich als unübersichtlich und als schlecht zu pflegendes Projekt erweisen können. Durch die dynamische Typisierung können sich schnell Fehler einschleichen, die aber teilweise durch die vorhandenen Fehlerbehandlungsmöglichkeiten aufgefangen werden können. Dadurch, dass PHP speziell für die Web-Programmierung entwickelt wurde und über alle vorstellbaren Funktionen auf diesem Gebiet verfügt, ist es möglich, mit relativ geringem Aufwand viel zu erreichen. Ein PHP Skript benötigt keine Bibliotheken und spezielle Compilerdirektiven und besteht somit nur aus so vielen Zeilen, wie für die entsprechende Aufgabe benötigt werden. Die Eigenschaft der Effizienz kommt Mehrbenutzerumgebungen zugute, z.b. durch Mechanismen zur Ressourcenzuordnung und Sitzungsverwaltung. Zudem ist PHP sehr flexibel, da sie nicht nur in HTML, sondern in JavaScript, WML oder ASP eingebettet werden kann. Die Portabilität ergibt sich dadurch, dass PHP keinen serverspezifischen Quellcode enthält und von vielen gängigen Web-Servern unterstützt wird. 5. Warum PHP? Die eigentliche und spannende Frage ist aber, warum man PHP benutzen sollte? Es gibt eine ganze Reihe von Vorteilen. PHP ist eine junge Programmiersprache. Durch Betrachtung der Nachteile bereits bestehender (Skript-)Sprachen wurde bei der Implementierung darauf geachtet, dass PHP die bekannten Nachteile außen vor lässt, dabei aber Vorteile anderer Sprachen bestmöglich integriert. Ein großer Vorteil an PHP ist, dass es als Open Source frei erhältlich ist und durch die Beteiligung zahlreicher Programmierer gewachsen und weit verbreitet ist. Dadurch gibt es für nahezu alle denkbaren Aufgaben bereits Funktionen oder 11

12 Bibliotheken, die sie lösen. Die Sprache ist relativ einfach zu erlernen, im Vergleich zu anderen Sprachen, wie z.b. Perl. PHP ist plattformunabhängig, somit lassen sich plattformübergreifende Skripte erstellen. Es sind sogar Programme mit eigener Benutzeroberfläche möglich, wenngleich PHP für solche Anwendungen nicht gerade optimal geeignet ist. Ein Vorteil gegenüber Perl ist die konsequente Ausrichtung auf Web-Server und der damit verbundene Geschwindigkeitsvorteil und die geringere Serverbelastung, die sich aber auch nur dadurch ergibt, das PHP als Modul im Server eingebunden ist. Das bedeutet, dass PHP ein Teil des Web-Servers wird und immer geladen ist. Somit entfällt der Overhead der Prozesserzeugung. Herausragend ist auch die umfangreiche und einfache Unterstützung zahlreicher Datenbanken ebenso wie die Unterstützung von Sessions. 1 Natürlich hat PHP auch Nachteile. Beispielsweise ist Objektorientierte Programmierung nur beschränkt möglich, obwohl PHP bereits seit Version 3 die Funktionalitäten, wie Klassen besitzt, um OOP zu unterstützen. Bisher ist jedoch die gesamte Standardbibliothek prozedural angelegt. Dieser Missstand soll aber mit PHP 5 behoben werden. Durch die Verwendung von PHP kann es zu einer erhöhten Serverbelastung kommen, falls beispielsweise Benutzereingaben in ein Formular immer nur auf dem Server geprüft werden. Mit dem Einsatz eines zusätzlichen JavaScripts kann dieser Nachteil umgangen werden, wenn schon auf der Clientseite eine gewisse Syntaxprüfung der Eingaben erfolgt. Dies ersetzt zwar nicht die Prüfung auf Korrektheit auf dem Server, aber die Prüfung muss eventuell dann nur einmal durchgeführt werden. Es mag die Frage aufkommen, ob es nicht noch weitere Sprachen gibt, die denselben Zweck erfüllen. Darunter sind kommerzielle (ASP von Microsoft oder ColdFusion von Macromedia) und kostenlose (wie Perl oder JSP). Ich werde die ebenfalls weborientierte Skriptsprache Java Server Pages (JSP) vorstellen und aufzeigen, dass die Unterschiede nicht wirklich gravierend sind. JSP ist eine von Sun Microsystems entwickelte serverseitige Skriptsprache, die ebenfalls zur dynamischen Erzeugung von Web-Inhalten geschaffen wurde. Das Prinzip von JSP basiert auf der Einbindung von Java-Code in HTML. Dateien mit der typischen Endung.jsp werden vom Server beim Aufruf an einen JSP-Compiler übergeben, der daraus ein Java-Servlet/Applet kompiliert. Ein Java-Servlet ist ein kompiliertes Programm, das auf dem Webserver agiert, wohingegen ein Java-Applet für die Ausführung im Browser auf der Clientseite vorgesehen ist. Eine JSP-Seite besteht also wie bei PHP aus HTML-Code mit eingebettetem JSP-Code [wiki]. Bis zu diesem Punkt lassen sich kaum Unterschiede zwischen PHP und JSP ausmachen, aber JSP profitiert durch seinen 1 Ähnlich wie Cookies, nur das Informationen auf Server anstatt auf Client-Rechner gespeichert werden. 12

13 Hintergrund vom gesamten Java-Sprachumfang samt Bibliotheken. Positiv ist, dass die gesamte JSP-Technologie ebenfalls frei erhältlich ist und von jeder Plattform unterstützt wird. Ein Nachteil für Einsteiger könnte die Java-Programmierung darstellen, da die Sprache nicht für jedermann leicht zu erlernen ist. 6. Fazit Abschließend kann ich sagen, dass PHP eine sinnvolle (und kostenlose) Möglichkeit zur Umsetzung dynamischer Web-Inhalte bietet. Sie ist eine vielseitige und einfach anzuwendende weborientierte Skriptsprache, die auf ihrem Einsatzgebiet über alle nötigen Eigenschaften verfügt, um den Vergleich mit kommerziellen Produkten standzuhalten. Eine generelle Empfehlung, ob und wann PHP eingesetzt werden sollte, ist kaum möglich, da diese Entscheidung von vielen Faktoren abhängt. 13

14 Literaturverzeichnis [Bar00] Barron, D. W.: The World of Scripting Languages. Wiley 2000 [LeTa03] Lerdorf, R., Tatroe, K.: Programmieren mit PHP. O`Reilly 2003 [LiWi03] Linke, M. & Winkler, P. :Das M+T Computerlexikon. Heyne 2003 [WeHa04] Wenz & Hauser: Webservices mit PHP. Galileo Computing 2004 [phpman04] PHP Handbuch WWW: [phpnet] [php4faq]http://go4xml.com/kurs/php/faq/faq-version4.php 2004 [wiki] Abbildungsverzeichnis: 1. Datenfluss 14

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

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

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

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 4 PHP

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 4 PHP VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer Kommunikation I (Internet) Übung 4 PHP SS 2004 Inhaltsverzeichnis 1. PHP die serverseitige Programmiersprache...1 1.1. PHP - Bereiche in HTML definieren...1

Mehr

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1 2D22 1 Inhalte der Lehrveranstaltung Einführung in die Programmierung mit PHP Literatur: Theis, Thomas (2010): Einstieg in PHP 5.3 und MySQL 5.4. [für Programmieranfänger geeignet]. 6., aktualisierte Aufl.

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

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

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

Angreifbarkeit von Webapplikationen

Angreifbarkeit von Webapplikationen Vortrag über die Risiken und möglichen Sicherheitslücken bei der Entwicklung datenbankgestützter, dynamischer Webseiten Gliederung: Einführung technische Grundlagen Strafbarkeit im Sinne des StGB populäre

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

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

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

Web und Mobile Apps Programmieren mit Dart

Web und Mobile Apps Programmieren mit Dart Web und Mobile Apps Programmieren mit Dart Marco Jakob Kalaidos Fachhochschule Schweiz majakob@gmx.ch Abstract: Bisher war es kaum realistisch, im Anfängerunterricht mobile oder webbasierte Applikationen

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

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Einführung in PHP. (mit Aufgaben)

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

Mehr

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

1 Einleitung. 1.1 Dynamische Webauftritte. »Stillstand besitzt die größte Dynamik... «Prof. Dr.-Ing. Alfred Mack

1 Einleitung. 1.1 Dynamische Webauftritte. »Stillstand besitzt die größte Dynamik... «Prof. Dr.-Ing. Alfred Mack 3 1 Einleitung»Stillstand besitzt die größte Dynamik... «Prof. Dr.-Ing. Alfred Mack In diesem Kapitel erklären wir zunächst die grundlegende Technik hinter dynamischen Webauftritten und erläutern dabei

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

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

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

Herzlich willkommen im Modul Web-Engineering

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

Mehr

Informatik Programmiersprachen eine kurze Übersicht

Informatik Programmiersprachen eine kurze Übersicht Informatik eine kurze Übersicht Seite 1 natürliche Sprachen (nach Wikipedia) ca 6500 gesprochene Sprachen davon etwa die Hälfte im Aussterben etwa 500 Schriftsprachen mit gedruckten Texten P. Bueghel Turmbau

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

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

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) Vorlesung VIII. Common Gateway Interface(CGI) & PHP mailto:wpr@gruner.org 1 12 Common Gateway Interface Von allen Webservern unterstützt Anzubindende Programme => Gateway zu bestehenden

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

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

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

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

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

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

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

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

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

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Programmierung. Programme, Compiler, virtuelle Maschinen, Java

Programmierung. Programme, Compiler, virtuelle Maschinen, Java Programmierung Programme, Compiler, virtuelle Maschinen, Java Programme Ein Programm ist eine Folge von Anweisungen, die einem Computer sagen, was er tun soll tuwas.c for(int i=0; i=0; i

Mehr

0. Einführung. C und C++ (CPP)

0. Einführung. C und C++ (CPP) C und C++ (CPP) 0. Einführung Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte Wissenschaften marc.rennhard@zhaw.ch Marc Rennhard, 05.01.2010,

Mehr

Tabellenkalkulation / Funktionen. VBA Visual Basic for Applications VBA auf einfache Art und Weise nutzen Der Makro-Recorder von EXCEL

Tabellenkalkulation / Funktionen. VBA Visual Basic for Applications VBA auf einfache Art und Weise nutzen Der Makro-Recorder von EXCEL Tabellenkalkulation / Funktionen VBA auf einfache Art und Weise nutzen Der Makro-Recorder von EXCEL Möchte man mal eben einfache Arbeitsschritte automatisieren oder einfach nur Tastatur-eingaben und Mausklicks

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

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Sicherheit in Webanwendungen CrossSite, Session und SQL

Sicherheit in Webanwendungen CrossSite, Session und SQL Sicherheit in Webanwendungen CrossSite, Session und SQL Angriffstechniken und Abwehrmaßnahmen Mario Klump Die Cross-Site -Familie Die Cross-Site-Arten Cross-Site-Scripting (CSS/XSS) Cross-Site-Request-Forgery

Mehr

Skriptsprachen. im Rahmen des Seminars WebEngineering Lehrstuhl Informatik IX - RWTH Aachen - SS 2005 betreut von Eva Giani bei Prof.

Skriptsprachen. im Rahmen des Seminars WebEngineering Lehrstuhl Informatik IX - RWTH Aachen - SS 2005 betreut von Eva Giani bei Prof. Skriptsprachen im Rahmen des Seminars WebEngineering Lehrstuhl Informatik IX - RWTH Aachen - SS 2005 betreut von Eva Giani bei Prof. Schroeder Inhalt Allgemeines zu Skriptsprachen Server- vs. clientseitig

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

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Applications Applets (eingeschränkte Rechte)

Applications Applets (eingeschränkte Rechte) 1 Arten von Java-Programmen Man unterscheidet 2 verschiedene Arten von Java-Programmen: Applications Applets (eingeschränkte Rechte) Erstere sind eigenständige Programme. Letztere sind "kleine" Programme,

Mehr

HTTP-Server. Frank Wübbeling Universität Münster

HTTP-Server. Frank Wübbeling Universität Münster HTTP-Server Frank Wübbeling Universität Münster Aufgaben des Servers Input/Output (Port eröffnen etc.) Aufnehmen der Anforderungen Bereitstellung des Inhalts Bereitstellung der Header Erzeugung von Hintergrundinfos

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

Mehr

Programmierkurs Java. Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.

Programmierkurs Java. Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck. Programmierkurs Java Grundlagen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Algorithmen, Maschinen- und Programmiersprachen Algorithmen

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

L.A.M.P. - Eine Alternative zu MS Active Server Pages. Henning P. Schmiedehausen

L.A.M.P. - Eine Alternative zu MS Active Server Pages. Henning P. Schmiedehausen <hps@intermeta.de> L.A.M.P. - Eine Alternative zu MS Active Server Pages Vorbemerkungen Dieser Vortrag beschäftigt sich mit L.A.M.P. MS ASP wurde nur erwähnt, damit Sie in den Vortrag kommen. Dieser Vortrag

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

MySql Backup. Backup mit phpmyadmin. ITST Systemberatung MySql Backup

MySql Backup. Backup mit phpmyadmin. ITST Systemberatung MySql Backup Backups (Dumps)/Restores von MySql-Datenbanken lassen sich generell über zwei Wege bewerkstelligen. Zum einen mit Middleware wie phpmyadmin oder MySqlFront und ähnlichen graphischen Oberflächen. Grundsätzlich

Mehr

Helmut Dittrich Jürgen Mellenthin PHP 4-Workshop

Helmut Dittrich Jürgen Mellenthin PHP 4-Workshop 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Helmut Dittrich Jürgen Mellenthin PHP 4-Workshop Galileo Computing

Mehr

PHP 4. E i n e K u r z e i n f ü h r u n g. Vortragender: Kevin Bransdor Datum: 08.05.2002 Folie 1

PHP 4. E i n e K u r z e i n f ü h r u n g. Vortragender: Kevin Bransdor Datum: 08.05.2002 Folie 1 PHP 4 E i n e K u r z e i n f ü h r u n g Vortragender: Kevin Bransdor Datum: 08.05.2002 Folie 1 Was ist PHP? PHP ist eine serverseitige, in HTML eingebettete Skriptsprache. Die Befehlsstruktur ist an

Mehr

Grundlagen der Verwendung von make

Grundlagen der Verwendung von make Kurzskript zum Thema: Grundlagen der Verwendung von make Stefan Junghans Gregor Gilka 16. November 2012 1 Einleitung In diesem Teilskript sollen die Grundlagen der Verwendung des Programmes make und der

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

Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem umfassenden Auftritt als Bildungsnetzwerk

Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem umfassenden Auftritt als Bildungsnetzwerk Informationsmaterial zum Modul-Nr. 2.4: Bildungsnetzwerke planen (Schwerpunkt: IT-Unterstützung in Bildungsnetzwerken) Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem

Mehr

Brückenkurs Programmieren - Sommersemerster 2013

Brückenkurs Programmieren - Sommersemerster 2013 Brückenkurs Programmieren - Sommersemerster 2013 Tag 1 Ivo Senner Technische Hochschule Mittelhessen 30. September 2013 Ivo Senner (THM) Brückenkurs Programmieren 30. September 2013 1 / 41 Inhalt 1 Dieser

Mehr

Klausur Kommunikation I. Sommersemester 2003. Dipl.-Ing. T. Kloepfer

Klausur Kommunikation I. Sommersemester 2003. Dipl.-Ing. T. Kloepfer Kommunikation I 1 Klausur Kommunikation I Sommersemester 2003 Dipl.-Ing. T. Kloepfer Bearbeitungsinformationen Aufbau der Klausur Die Klausur ist wie folgt aufgebaut: Die Klausur ist in 18 Aufgaben unterteilt.

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 08. April 2013 - Einführung Sebastian Cuy sebastian.cuy@uni-koeln.de Modulzuordnung Informationsverarbeitung, Bachelor

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

4. Verwendete Methoden und Werkzeuge

4. Verwendete Methoden und Werkzeuge 4. Verwendete Methoden und Werkzeuge In diesem Kapitel werden die verschiedenen Methoden und Werkzeuge vorgestellt, die bei der Realisierung der Mediathek eingesetzt wurden. Zuerst werden die Grundlagen

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

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Aufbau einer Web-Anwendung. (JSP o. ASP o. PHP)

Aufbau einer Web-Anwendung. (JSP o. ASP o. PHP) von Gael Tchoukio ntchoukio@yahoo.fr 05.07.2004 1. Einführung in Web-Anwendungen Eine der am häufigsten gestellten Fragen über Web-Anwendungen lautet: Ich möchte eine Web-Anwendung aufbauen, weiß aber

Mehr

Projektvortrag von Andrzej Aftyka, Abdi Leili, Elsa Mahari

Projektvortrag von Andrzej Aftyka, Abdi Leili, Elsa Mahari Projektvortrag von Andrzej Aftyka, Abdi Leili, Elsa Mahari Herzlich Willkommen [Lehrveranstaltung Systemprogrammierung SS008 bei Herr Prof. Weber] Projektthema: Programmiersprachen-Server mit CGI Inhaltsverzeichnis

Mehr

Active Server Pages. Internetanbindung von Datenbanken. Gliederung. Einführung in ASP. Sessions mit ASP. Datenbankanbindung mit ASP ASP-1

Active Server Pages. Internetanbindung von Datenbanken. Gliederung. Einführung in ASP. Sessions mit ASP. Datenbankanbindung mit ASP ASP-1 Internetanbindung von Datenbanken Active Server Pages ASP-1 Gliederung Einführung in ASP Sessions mit ASP Datenbankanbindung mit ASP Brunner, Fromm, Huppert ASP-2 Einführung in ASP ASP-3 Entwicklung des

Mehr

Internet und WWW Übungen

Internet und WWW Übungen Internet und WWW Übungen 7 Serverseitige Web-Technologien [WEB7] Rolf Dornberger 1 06-11-12 7 Serverseitige Web-Technologien 1. Begriffe Zusatz für Interessierte: 2. JSP erstellen 3. Servlet erstellen

Mehr

WikiWikiWeb. Proseminar Website-Management-Systeme. Markus Müller m_muell@informatik.uni-kl.de. Inhalt - Teil 1

WikiWikiWeb. Proseminar Website-Management-Systeme. Markus Müller m_muell@informatik.uni-kl.de. Inhalt - Teil 1 WikiWikiWeb Proseminar Website-Management-Systeme Markus Müller m_muell@informatik.uni-kl.de 1 Inhalt - Teil 1 1. Einige Begriffsklärungen 2. Das Konzept des WikiWikiWeb 3. Die innere Struktur des WikiWikiWeb

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

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

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum

Mehr

Grundpraktikum Netz- und Datensicherheit. Thema: Sicheres CGI-Scripting

Grundpraktikum Netz- und Datensicherheit. Thema: Sicheres CGI-Scripting Grundpraktikum Netz- und Datensicherheit Thema: Sicheres CGI-Scripting Lehrstuhl für Netz- und Datensicherheit Ruhr-Universität Bochum Versuchdurchführung: Raum ID 2/168 Betreuung: Florian Feldmann Zusammengestellt

Mehr

Arbeiten mit Arrays. 4.1 Eigenschaften. 4.1.1 Schlüssel und Element. Kapitel 4

Arbeiten mit Arrays. 4.1 Eigenschaften. 4.1.1 Schlüssel und Element. Kapitel 4 Arbeiten mit s Eine effiziente Programmierung mit PHP ohne seine s ist kaum vorstellbar. Diese Datenstruktur muss man verstanden haben, sonst brauchen wir mit weitergehenden Programmiertechniken wie der

Mehr

Android Kurs Online Kurs Entwicklung auf Android-Handys

Android Kurs Online Kurs Entwicklung auf Android-Handys Android Kurs Online Kurs Entwicklung auf Android-Handys Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses Modul Eins - Programmierung J2ee 1) Grundlegende Java - Programmierung : Grundlegende

Mehr

Web Adressdatenbank mit ASP

Web Adressdatenbank mit ASP Web Adressdatenbank mit ASP 1 Einleitung 1.1 Vorwort Auf den nächsten paar Seiten will ich eine kleine Anleitung geben, wie man per ASP(Active Server Pages) auf eine MS Access Datenbank zugreifen kann.

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

Mehr

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem Inhalt Content Management (CM) Allgemeines über CMS CMS Typen Open Source vs. Lizenzsoftware Joomla! Quellen Content Management

Mehr

Hochschule Darmstadt Fachbereich Informatik

Hochschule Darmstadt Fachbereich Informatik Hochschule Darmstadt Fachbereich Informatik 6.3 Systemarchitektur 430 6.3 Systemarchitektur Drei Schichten Architektur Die "Standardtechniken" des Software-Engineering sind auch auf die Architektur einer

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

Proseminar Website-Management-Systeme im Wintersemester 2003/2004 AG Softwaretechnik. PHP-Nuke. PHP-Nuke. von Andreas Emrich

Proseminar Website-Management-Systeme im Wintersemester 2003/2004 AG Softwaretechnik. PHP-Nuke. PHP-Nuke. von Andreas Emrich AG Softwaretechnik 1 Übersicht 1. Grundlagen und Konzepte 2. Komponenten von 3. Erweiterungsmöglichkeiten und Personalisierung 4. Abschließende Bewertung 5. Literaturangaben 2 1. : Grundlagen und Konzepte

Mehr

PHP-Schwachstellen und deren Ausnutzung

PHP-Schwachstellen und deren Ausnutzung PHP-Schwachstellen und deren Ausnutzung 44. DFN Betriebstagung / 7. Februar 2006 DFN-CERT Services GmbH Jan Kohlrausch / CSIRT Gliederung Grundlagen HTTP und PHP Anatomie typischer Schwachstellen in PHP-Skripten

Mehr

PHP mit Dreamweaver MX bearbeiten 00

PHP mit Dreamweaver MX bearbeiten 00 teil03.fm Seite 360 Donnerstag, 5. Februar 2004 6:27 18 PHP mit Dreamweaver MX bearbeiten 00 Mit Dreamweaver MX 2004 und PHP effektiv arbeiten PHP kann ausschließlich grafisch im Layoutmodus programmiert

Mehr

Dataport IT Bildungs- und Beratungszentrum. Powershell - Scripting - Grundlagen... 2. PHP Programmierung - Grundlagen... 3

Dataport IT Bildungs- und Beratungszentrum. Powershell - Scripting - Grundlagen... 2. PHP Programmierung - Grundlagen... 3 Inhalt Powershell - Scripting - Grundlagen... 2 PHP - Grundlagen... 3 XML - Grundlagen... 4 VBS - Visual Basic Script - Grundlagen... 5 Access 2010 - Teil 1... 6 Access 2010 - Teil 2... 7 VBA... 8 VBA

Mehr

Bilder im Internet. Hans Magnus Enzensberger

Bilder im Internet. Hans Magnus Enzensberger Kapitel 4 Alle reden von Kommunikation, aber die wenigsten haben sich etwas mitzuteilen. Hans Magnus Enzensberger Bilder im Internet Nach der etwas umfangreichen vorangehenden Lektion zum Ausklang der

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

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

Objektorientierte Programmierung für Anfänger am Beispiel PHP

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

Mehr

Einführung in die Computerlinguistik Einführung in Python (1)

Einführung in die Computerlinguistik Einführung in Python (1) Einführung in die Computerlinguistik Einführung in Python (1) Dozentin: Wiebke Petersen 10. Foliensatz Wiebke Petersen Einführung CL 1 Compiler Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Tutorium Java Ein Überblick. Helge Janicke

Tutorium Java Ein Überblick. Helge Janicke Tutorium Java Ein Überblick Helge Janicke 26. Oktober 2000 1 VORRAUSSETZUNGEN ZUM PROGRAMMIEREN MIT JAVA. 1 1 Vorraussetzungen zum Programmieren mit Java. Was braucht man, wenn man mit Java programmieren

Mehr

Besser PHP programmieren

Besser PHP programmieren Carsten Möhrke Besser PHP programmieren Handbuch professioneller PHP-Techniken Galileo Press Vorwort zur dritten Auflage ц JjlJlli!fJÜIj SI!IS* 1.1 Lernen Sie Ihr Arbeitsgerät kennen 13 1.2 Der Editor,

Mehr

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer) Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und

Mehr

2. Serverseitige Programmierung

2. Serverseitige Programmierung Sprachen, Prinzipen, Einsatz DHBW Stuttgart T2INF4214 24 Serverseitige Programmierung Bedeutet, dass serverseitige Programme erstellt und ausgeführt werden, um - Daten aus Datenbanken zu lesen, - Daten

Mehr