WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?



Ähnliche Dokumente
PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Anleitung über den Umgang mit Schildern

Adminer: Installationsanleitung

Migration von statischen HTML Seiten

Webalizer HOWTO. Stand:

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Installationscript für die Anzeige des aktuellen Moderators

Fragen Arthur Zaczek. Apr 2015

Unsere Webapplikation erweitern

Einführung in Javadoc

affilinet_ Flash-Spezifikationen

Eine Anwendung mit InstantRails 1.7

Workshop Java Webentwicklung Tapestry. Ulrich Stärk

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

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Arbeiten mit UMLed und Delphi

Content Management System (CMS) Manual

GEONET Anleitung für Web-Autoren

Verschlüsseln von Dateien mit Hilfe einer TCOS-Smartcard per Truecrypt. T-Systems International GmbH. Version 1.0 Stand

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Dreamweaver 8 Einführung

Ein mobiler Electronic Program Guide

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Kurzanleitung. Kirschfestverein Naumburg e.v. t e c h n ische Abt e i lung. für Benutzer des CMS der Domain:

Outlook Web App Kurzanleitung. Zürich, 09. Februar Eine Dienstabteilung des Finanzdepartements

Webseiten sind keine Gemälde. Webstandards für ein besseres Web. Webstandards für ein besseres Web

Inhalt: Ihre persönliche Sedcard... 1 Login... 1 Passwort vergessen... 2 Profildaten bearbeiten... 3

KeePass Anleitung. 1.0Allgemeine Informationen zu Keepass. KeePass unter Windows7

Dokumentation. Mindestanforderungen: Das Board

Es gibt zahlreiche Web-Programmiersprachen: HTML, CSS, JavaScript, PHP, Perl, Python, HTTP, XML und viele weitere.

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

Snippets - das Erstellen von "Code- Fragmenten" - 1

Kundenspezifische Preise im Shop WyRu Online-Shop

Hardware - Software - Net zwerke

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Installation, Einrichtung, Nutzung von PHOCA DOWNLOAD. Download-Links... 2

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

FILEZILLA HANDBUCH

Webseitenverwaltung. Mit HTML, CSS und ein klein wenig PHP. Steffen Schwientek

TIMERATE AG Tel Falkenstrasse Zürich Joomla Templates Kursunterlagen

Verwenden von OnlineUebungen.ch nichts einfacher als das!

Literatur und Links. Webtechnologien SS 2015 Teil 1/Entwicklung

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

3D-Konstruktion Brückenpfeiler für WinTrack (H0)

Browsereinstellungen für moneycheck24 in Explorer unter Windows

Import und Export von Übergängern

A n l e i t u n g : F i r m w a r e U p d a t e d u r c h f ü h r e n

Menü auf zwei Module verteilt (Joomla 3.4.0)

HOW TO: Remote Zugriff Samsung Android

Internationales Altkatholisches Laienforum

Einführung in die Programmierung

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Einrichtung Secure-FTP

1.3. Installation und Konfiguration von Filr Desktop

Thorsten Sett-Weigel Berlin, den 28. März 2012 Finowstraße Berlin

Inkrementelles Backup

BEDIENUNGSANLEITUNG: EINREICH-TOOL

Erste Schritte mit Microsoft Office 365 von Swisscom

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

8. Workshop - Internetarchivierung

Skalierbare Webanwendungen mit Python und Google App Engine

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

HTTPS Checkliste. Version 1.0 ( ) Copyright Hahn und Herden Netzdenke GbR

Protect 7 Anti-Malware Service. Dokumentation

Einführungskurs MOODLE Themen:

Einführung in PHP. (mit Aufgaben)

Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Info-Veranstaltung zur Erstellung von Zertifikaten

Module Entwicklung. Um diese Eigenschaft aufzurufen, starten Sie die Adami Vista CRM Applikation und wählen Sie den Entwicklung Menü.

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: CF Carola Fichtner Web-Consulting

1. Loggen Sie sich mit Ihrem Benutzernamen in den Hosting-Manager (Confixx) auf Ihrer entsprechenden AREA ein. Automatische Wordpress Installation

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel

Contentmanagement Übung

1. Laptop: Benutzen Sie die Anleitung ab Seite 2 2. Tablet / Smartphone: Benutzen Sie die Anleitung ab Seite 4. Seite 2 Seite 4

2010 Ing. Punzenberger COPA-DATA GmbH. Alle Rechte vorbehalten.

Hilfedatei der Oden$-Börse Stand Juni 2014

Testen mit JUnit. Motivation

3 Formularvorlage für einen Kostenvoranschlag bereitstellen

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

Revit Modelle in der Cloud: Autodesk 360 Mobile

Unperfekthaus-Tutorial: Wordpress

User Manual Data 24. Login und Layout

Anleitung zum Editieren der Website (Frontend-Editing) Präsentation zur Schulung

Typo3 - Schulung: Fortgeschrittene I an der Hochschule Emden/Leer

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

ZID Hotline

HTML5 HOCKEYSTICK EXPANDABLE BANNER v1.0

1. Zusammenfassung der letzten Vorlesung

teamsync Kurzanleitung

Vorbereitungen zum SIMOTION Webserver Tutorial Anwenderdefinierte Webseiten

Der Jazz Veranstaltungskalender für Deutschland, Österreich und die Schweiz

Vitaminkapseln.ch - SEO Check

Was bedeutet Inklusion für Geschwisterkinder? Ein Meinungsbild. Irene von Drigalski Geschäftsführerin Novartis Stiftung FamilienBande.

Medienkompass1, Lehrmittelverlag des Kantons Zürich, 1. Ausgabe 2008, Thema 13 Sicher ist sicher, S.58-61

Windows Explorer Das unbekannte Tool. Compi-Treff vom 19. September 2014 Thomas Sigg

Transkript:

WEBAPPLIKATIONEN MIT PHP Wo gibt es Hilfe? Wie fang ich an?

Tools Webapplikationen bestehen aus Textdateien Lassen sich in Texteditoren schreiben Alternativen: Eclipse (PDT) Netbeans (Dynamic Languages) Für das Projekt werden SVN Repositorys bereitgestellt

PHP PHP gibt keine Strukturen vor chaotische Anwendungen sind einfach Aber: PHP ist sehr flexibel Webserver bietet unterstützung

Architektur Pro Ansicht eine php-datei? Unübersichtliche, grosse Dateien Doppelter Code Adressierung: http://hostname/app/course.php?action=new

Architektur Zentrale Dateien, welche überall eingebunden werden? Kann bei neuen zentralen Dateien umständlich werden

Architektur Eine zentrale Datei, in welche die Ansichten eingebunden werden Adressierung: http://hostname/app/course/new (REST)

Architektur -.htaccess http://hostname/app/course/new.htaccess-datei im app Ordner <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ public/ [L] RewriteRule (.*) public/$1 [L] </IfModule> Weiterleitung an public Kein direkter Zugriff auf http://hostname/app

Architektur -.htaccess http://hostname/app/course/new.htaccess-datei im app/public Ordner <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME}!-f RewriteCond %{REQUEST_FILENAME}!-d RewriteRule ^(.*)$ index.php?params=$1 [QSA,PT,L] </IfModule> Zugriff auf Dateien und Ordner Alles Weitere wird auf http://hostname/public/index.php umgeleitet

Ordnerstrukturen app application config library public css img js css, img und js (javascript) sorgen für Ordnung Mit.htaccess lassen sich application, config und library verstecken app config library css img js Ohne.htaccess liegen die Ordner aus public und Dateien aus application im app Ordner

Ordnerstrukturen Passwörter in Dateien im Ordner config Als Konstanten oder in einer Klasse Für die Wartbarkeit: Css und Javascript sollten immer in externen Dateien sein Links generieren Eine Funktion für Link generierung Pfade finden define('ds', DIRECTORY_SEPARATOR); define('root', dirname(dirname( FILE )));

Architektur was ist wo? Was sollte in zentrale Dateien ausgelagert werden? Einlesen der Parameter HTML-Gerüst (oder auch XML/JSON-Gerüst) Datenbankverbindung vielleicht sogar alle Anfragen Fehlerbehandlung (Generierung von Links und Menüs) Daten sollten vorbereitet werden und dann gerendert werden Eigene Lösungen möglich Verbreitete Lösung: MVC

Architektur einfache Lösung 1. Index.php bekommt Parameter 2. Allgemeine Vorbereitung 3. Übergebene URL (params) zerlegen z.b. http://hostname/app/controller 4. Controller mittels include einbinden Bei Klassen Methode aufrufen 5. Controller erstellt Inhalte in Variablen 6. Controller legt View fest oder gleichnamige View wird mittels include eingebunden

MVC View (Templates) Model (Datenbank) Response (HTML,XML,CSS, ) Controller Request (HTTP) Browser

MVC Wird für fast alle grossen Webapplikationen verwendet Es gibt viele Frameworks und CMSs Achtung Viele Frameworks bieten sehr viel mehr als ein einfaches MVC Modell und verstecken oftmals die Datenbank vollständig. In dieser Vorlesung geht es um das Erlernen und Üben von Datenbank- und Webtechnologien. Im Projekt wird es nicht erlaubt sein solche Frameworks/CMSs zu verwenden.

MVC Aber Viele Anleitungen für MVC vorhanden Können Anregungen geben http://anantgarg.com/2009/03/13/write-your-own-php-mvcframework-part-1/ http://johnsquibb.com/tutorials http://www.henriquebarroso.com/how-to-create-a-simple-mvcframework-in-php/

PHP prozedural oder objektorientiert Beides möglich in PHP Nur eins von beiden verwenden Klassen in PHP sind ähnlich wie in Java <?php class ExampleController extends Controller { private $privatevariable; protected $ protectedvariable; public $ publicvariable; function construct() { } function set($value) { } } function destruct() { }

PHP - Fehlerbehandlung PHP bietet mehrere Möglichkeiten set_error_handler set_exception_handler register_shutdown_function <?php class Handler { public function main() { register_shutdown_function(array($this, "clean_exit")); } } public function clean_exit() { header("location: error.php"); } <?php register_shutdown_function("clean_exit"); public function clean_exit() { header("location: error.php"); }

PHP - MySQL Grundlagen bekannt Mehr Sicherheit durch mysql_real_escape_string <?php $query = SELCT *.. mysql_real_escape_string($param). ;

PHP - Login Grundlagen bekannt Tabelle mit Benutzern (username, sha1(password)) Bei Login username == u.username && sha1(password) == u.password Tabelle mit laufenden Sessions Session erstellen (PHP Session oder per URL) Bei Logout Session zerstören

PHP - Login Auch hier viele Tutorials: http://www.knowledgesutra.com/forums/topic/7887-php-simplelogin-tutorial/ http://phpsense.com/2006/php-login-script/

Webapplikationen - Design 1. Struktur der Seite überlegen Welche Menüs? Wie sind diese aufgebaut? 2. Template mit HTML entwerfen 3. Feste Stellen für dynamische Inhalte planen Wo wird die aktuelle Ansicht angezeigt? Unabhängig von der Ansicht sollte ein statischer Rahmen existieren

Webapplikationen - Design Es gibt viele Seiten mit HTML-Designs http://www.freecsstemplates.org/ http://www.csszengarden.com/tr/deutsch/ http://www.cssheaven.com/

Weitere Quellen Mitstudenten fragen! Tutoren Fragen