Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Dynamische Webseiten mit PHP Oder: LAMP - The open way."—  Präsentation transkript:

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

2 Überblick Dynamische Webseiten Entwicklung von PHP PHP an Beispielen Anbindung an mySQL Literatur: –Williams, Lane, Web database Applications with PHP and MySQL, OReilly, 2002 –Lerdorf, Tatroe, Programieren mit PHP, OReilly, 2003

3 PHP Personal Homepage Tools, Rasmus Lerdorf Erste Version 1994 –CGI Tools –keine Scriptsprache PHP/FI 1996 –Scriptsprache, Anbindung an Datenbanken PHP Version –Open Source, Suraski, Gutmans PHP Version –Redesign, Zend

4 Verbreitung Neben ASP verbreitetste Web-Scripting-Umgebung LAMP (Linux, Apache, mySQL, PHP): freie Alternative zu M$

5 dynamische Webseiten public class myServlet extends HttpServlet { protected void doGet(...) { response.setContentType( "text/html"); java.io.PrintWriter out = response.getWriter(); out.println(" );... out.println(Hallo"); out.println(" ); } }... Programm erzeugt HTMLHTML enthält Programm verschiedene Implementierungen: PHP (C-ähnlich) JSP (JAVA) ASP (Visual Basic (und andere) usw.

6 Einbetten von Code... <%# ASP Stil echo Hallo"; %> // korrektes HTML echo Hallo";

7 Einschub: Programmierung Lösung eines (Anwendungs-) Problems durch Computer Formulierung des Problems (meist leider der Lösung) in für Computer verständlicher Form Hier: Algorithmen, d.h. Beschreibung der Lösung durch Abfolge von einzelnen Schritten

8 Algorithmus usw. Folge von Anweisungen, Beispiel: echo Hallo; Beispiel: Lösung(en) von ax**2+bx+c=0 Berechne b**2-4ac Berechne Lösung 1 Berechne Lösung 2 Problem: Ergebnis aus Schritt 1 wird später gebraucht Muss gemerkt werden, wie ? --> Variable Variable = Platz (im Hauptspeicher) zur Speicherung von (Zwischen-) Ergebnissen

9 Variablen

10 Soll ich oder soll ich nicht... Berechne d=b**2-4ac Berechne w=wurzel(d) Berechne -b+w/2a Berechne -b-w/2a Problem: Was tun, wenn d<0 ? Fallunterscheidungen (Verzweigungen) Berechne d=b**2-4ac Wenn (d > 0) dann Berechne w=wurzel(d) Berechne -b+w/2a Sonst...

11 In PHP 0) {// Blöcke durch {} $w=sqrt($d);// Funktionen $x1=(-b+$w)/(2*a);// Reihenfolge --> klammern $x2=(-b-$w)/(2*a); } else {... } ?>

12 Oops, I did it again.... Wiederholungen:..... Besser: Solange (Bedingung erfuellt)

13 $i=0; while ($i < 10) { echo $i; $i = $i + 1; }// Zahlen von 0 bis 9, langweilig $i=0; while ($1 < 10) { echo PHP ist toll; $i = $i + 1; }// besser $zahl=4711; $i=2; $istPrim=true; while ($i < $zahl) { if (($zahl % $i) == 0)// % ist modulo-Division $istPrim =false; $i = $i + 1; }// viel besser

14 Viele Daten... Berechnung des Notendurchschnitts (Klausur) $Note1=1.0; $Note2=1.8; $Note3=2.7;... $Note24=3.0; $Durchschnitt=($Note1+$Note2+...+$Note24)/24 Quatsch Mathematik: Vektor Programmiersprache: Array $Noten=array(1.0,1.8,2.7); $Durchschnitt=0.0; $i=0; While ($i < $Anzahl) { $Durchschnitt = $Durchschnitt + $Noten[i]; $i = $i + 1; } $Durchschnitt=$Durchschnitt/$Anzahl;

15 Kontrollstrukturen

16 Funktionen Warum alles selbst programmieren ? Mehrfach gebrauchte Funktionalitäten werden als Funktion zur Verfügung gestellt, Beispiel Datum: Eine Funktion liefert (meistens) einen Wert zurück, Kann Parameter haben (in Klammern, () wenn keine) Kann man auch selbst schreiben: function sagHallo() { echo Hallo; } Muss man aber nicht...

17 Variablenfunktionen Wie andere Scriptsprachen auch ist PHP ziemlich flexibel, ein Beispiel:

18 Ein Beispiel

19 HTML-Formulare Wie oft ? DoHelloForm.php

20 All in one Wie oft ?

21 Aufgaben Geben Sie "Es funktioniert" aus. Schreiben Sie mindestens zwei weitere (verschiedene) Programme, die "Es funktioniert" ausgeben. Programmieren Sie einen "Web-Taschenrechner", zunächst nur für Addition zweier Zahlen. Erweitern Sie den Rechner auf alle vier Grundrechenarten. Schreiben Sie ein Programm, das die Primzahlen kleiner 100 ausgibt. Erweitern Sie dieses Programm so, dass alle Primzahlen bis zu einer eingegebenen Obergrenze ausgegeben werden.

22 besser Wie oft ?

23 Zugriff auf mySQL

24 alternativ... $result = mysql_query("SELECT text from data",$connection); // Resultset durchgehen while ($row = mysql_fetch_array($result)) { // $row ist jetzt ein assoziatives Array echo $row["text"]; echo " "; }... // Insert geht übrigens genauso mysql_query(INSERT INTO data(text) values('Hallo'); sieht schon ziemlich ähnlich wie ASP aus, oder ?

25 Cookies Hallo zum ten Mal. Dazu braucht man also Cookies... (eins pro Variable --> umständlich, Typ != String ??)

26 Sessions Hallo zum ten Mal. Ein Cookie pro Session (alternativ URL rewriting) Beenden mit session_destroy(), z.B. beim logout


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

Ähnliche Präsentationen


Google-Anzeigen