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 Projekt 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 3 1998 –Open Source, Suraski, Gutmans PHP Version 4 2000 –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(" ); } }... <?php echo Hallo"; ?> Programm erzeugt HTMLHTML enthält Programm verschiedene Implementierungen: PHP (C-ähnlich) JSP (JAVA) ASP (Visual Basic (und andere) usw.

6 Einbetten von Code... <?php// XML-Stil echo Hallo"; ?> <?/* SGML (PI) Stil */ echo Hallo"; ?> <%# ASP Stil echo Hallo"; %> <script language=php" // korrektes HTML echo Hallo";

7 Syntax <?php $i = 0;// Variablen werden nicht deklariert echo $i;// Name beginnt mit $ echo $I;// undefiniert (Schreibweise), aber Echo $i;// funktioniert. if ($I == null)// undef. Variablen haben Wert null if (isset($I))// oder so $i= Hallo"; // Datentyp implizit (Zuweisung) $i= Hallo; // String durch oder terminiert $i=0.3E-4;// Integer, Fließkomma, String, $i=true;// Boolean $namen[0]=max;// Array $namen[1]=hugo; // Größe nach Bedarf $namen[]=gerd;// hinten anhängen $namen=array(max,hugo,gerd); // Operatoren wie in JAVA,. verknuepft Strings $text =Hello. world; ?>

8 Kontrollstrukturen <?php if (1 == 1)// Syntax wie in JAVA //Schleifen: for, while, do... while, foreach $namen=array(max,hugo,gerd); for($i=0;$i<count($namen);$i++) echo $namen[$i]; while ($i < 10) { echo $i; $i++; } // Durchlaufen von Arrays foreach($namen as $name) echo $name; ?>

9 Funktionen <?php function tuwas($i) { echo $i; $i++; } $wert = 10; tuwas($wert); echo $wert// 10, call by value function tuwas(&$i) {// 11, call by reference... tuwas($wert); echo $wert; function x($y=1) {// default Werte für Parameter //Werte zurückgeben mit return $... ?>

10 Variablenfunktionen <?php function minus($i) { return $i-1; } function plus($i) { return $i+1; } $op = plus; echo $op(3); ?> Wie andere Scriptsprachen auch ist PHP ziemlich flexibel, ein Beispiel:

11 Ein Beispiel <? for($i=0;$i<10;$i++) echo "Hello world "; ?>

12 HTML-Formulare Wie oft ? <? for($i=0;$i<$WieOft;$i++) // $WieOft enthält Eingabe echo "Hello world "; ?> DoHelloForm.php

13 All in one <? if (isset($WieOft)) { for($i=0;$i<$WieOft;$i++) echo "Hello world "; } else { ?> Wie oft ? <? } ?>

14 besser Wie oft ? <input type="text" name="WieOft" > <? if (isset($WieOft)) { for($i=0;$i<$WieOft;$i++) echo "Hello world "; } ?>

15 Zugriff auf mySQL <? // Verbindung mit mysql_connect aufbauen $connection = mysql_connect("localhost","till","haenisch"); // Datenbank auswählen mysql_select_db("ba",$connection); // Abfrage ausführen $result = mysql_query("SELECT text from data",$connection); // Resultset durchgehen while ($row = mysql_fetch_row($result)) { // $row ist ein Array mit den Inhalten der Attribute echo $row[0]; echo " "; } // Verbindung wieder schließen mysql_close($connection); ?>

16 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 ?

17 Cookies <? if (!isset($count)) // unser Cookie { $count=0; } else $count++; // Cookies müssen gesetzt werden, bevor html ausgegeben wird setcookie("count",$count); ?> Hallo zum ten Mal. Dazu braucht man also Cookies... (eins pro Variable --> umständlich, Typ != String ??)

18 Sessions <? session_start(); if (!session_is_registered("count")) { session_register("count"); $count=0; } else $count++; ?> 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