Das sind unsere Themen

Ähnliche Dokumente
Übung zur Vorlesung Multimedia im Netz

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

JavaScript und PHP-Merkhilfe

Mul$media im Netz Wintersemester 2012/13. Übung 01

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011

Multimedia im Netz Wintersemester 2011/12

PHP/HTML-Exkurs_Aufgabe

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

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/

Funktionen in JavaScript

Funktionen. - sind kleine, meist ausgelagerte Programme bzw. Programmfragmente. - können Werte zurückgeben, z.b. Berechnungen

Programmsteuerung mit PHP - if/else, elseif,switch

Herzlich Willkommen. Über mich Termine Literatur Über PHP

Programmieren lernen mit Visual Basic

Funktionen in JavaScript

Ein Array ist eine Liste mit Einträgen, fast wie eine Einkaufsliste. Man kann darin also mehr als einen Eintrag in eine einzige Variable speichern.

Bash-Skripting Linux-Kurs der Unix-AG

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

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

Javakurs für Anfänger

07 Funktionen (Teil I)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

Programmiervorkurs Einführung in Java Tag 1

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

Funktionen nur wenn dann

Musterlösung: 12. Jgst. 2. Kursarbeit Datum: Fach: Informationsverarbeitung (LK)

Funktionen nur wenn dann

Prinzipien der Softwareentwicklung S. Strahringer

Grundlagen. Wie sind PHP-Dateien aufgebaut?

Informatik I (D-ITET)

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5.

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

VERARBEITUNG VON FORMULARDATEN

Windows PowerShell. CmdLets. PipeLine / Filter. Variablen / Operatoren. Schleifen / Prüfmethoden. Funktionen / Skripte. Allgegenwärtige Parameter

Projekt Online-Shop:

05 For-Schleifen. For-Schleifen 1/7 Was ist eine Schleife?

PHP/HTML-Exkurs_Lösungen

Grundlagen der Informatik 2

Tag 2 Repetitorium Informatik (Java)

Programming 101. Carl Herrmann IPMB & DKFZ

Java: Eine kurze Einführung an Beispielen

Übersicht Shell-Scripten

Multimedia im Netz Wintersemester 2013/14. Übung 01 (Nebenfach)

Repetitorium Programmieren I + II

Einstieg in die Informatik mit Java

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch

Übung zur Vorlesung EidP (WS 2018/19) Blatt 4

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

einlesen n > 0? Ausgabe Negative Zahl

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

Objektorientiertes Programmieren (Java)

Vorkurs Informatik WiSe 17/18

Übungspaket 12 Der Datentyp char

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer

Javakurs für Anfänger

<? $ZeilenMax = 9; $SpaltenMax = 9; echo "<pre>";

Einstieg in die Informatik mit Java

Schleifen: Immer wieder dasselbe tun

Programmieren in C (Übungsblatt 1)

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Algorithmen und ihre Programmierung

Datenbanksysteme SS 2007

Tutorium für Fortgeschrittene

JavaScript clientseitige Programmiersprache zur Dynamisierung von Internetseiten

Computer & GNU/Linux Einführung Teil 4

PHP Programmierung. Seminarunterlage. Version 1.07 vom

Programmieren in C (Übungsblatt 1)

Programmieren in C (Übungsblatt 1)

Greenfoot: Verzweigungen

Multimedia im Netz Wintersemester 2013/14. Übung 01 (Hauptfach)

Bash-Skripting Linux-Kurs der Unix-AG

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

Stand und Ausblick

Um Ihren neuen»counter«(besucherzähler) auf einer Webseite zu installieren, benötigen Sie folgenden HTML-Code:

Brückenkurs Programmieren

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Übungsblatt 1. Java Vorkurs (WS 2017)

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

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut

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

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt

Ziele sind das Arbeiten mit Funktionen (Modularisierung, Parameterübergabe), sowie - Reihentyp (Array)

15 Der AWK. (Aho, Weinberger, Kernighan)

Einführung in die Computerlinguistik

Programmierung in C. Grundlagen. Stefan Kallerhoff

RO-Tutorien 3 / 6 / 12

Vorkurs Informatik WiSe 16/17

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

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

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke

Girls Day 2017 Programmierung

Transkript:

PHP Übungen Andreas Dormann Das sind unsere Themen Installation von XAMPP, Editor und Dokumentation Arbeiten mit Zeichenketten Ausdrücke, Operatoren & Vergleichsoperatoren Kontrollstrukturen Funktionen Includes GET-Methode Abschlussübung 1

1. Installation (Mini)XAMPP www.apachefriends.org PHP Coder www.phpide.com Dokumentation www.php.net/docs.php 1. Installieren Sie die o.g. Programmpakete. Für (Mini)XAMPP befolgen Sie bitte die Anweisungen in README_DE.TXT. 2. Binden Sie die Dokumentation in den PHP Coder ein. 3. Richten Sie auf dem Desktop Verknüpfungen für folgende Programme ein: - PHPCoderPro.exe -APACHE_START.BAT -MYSQL_START.BAT -MYSQL_STOP.BAT 3

2. Das erste Skript <html> <head> <title>mein erstes PHP-Skript</title> </head> <body> <?php $name = "Andreas Dormann"; echo "Hallo, mein Name ist $name.";?> </body> </html> Variante 1: Verwenden Sie statt 'echo' den Befehl 'print'. Variante 2: Setzen Sie hinter "Hallo," einen Zeilenumbruch. Variante 3: Ändern Sie das Skript so, dass der Zeilenumbruch auch im Browser angezeigt wird. 1. Geben Sie im PHP-Editor das obige Skript ein. Speichern Sie es unter c:\minixampp\htdocs\kurse\uebung2.php. 2. Sehen Sie sich die Textausgabe im Explorer und im Quelltext an. Was fällt Ihnen auf? 3. Variante 1: Gibt es einen sichtbaren Unterschied zur Ausgabe mit "echo"? Lesen Sie in der PHP-Dokumentation nach, worin der Unterschied zwischen "echo" und "print" liegt. 4. Variante 2: Wie wirkt sich der Zeilenumbruch aus? 5. Lösung: [...] Hallo,<br>mein Name [...] bzw. [...] Hallo,<br>\nmein Name [...] 4

3. Strings verbinden (1) <?php $zeit = 10; $einheit = "Minute"; echo "Der Upload dauerte $zeit $einheitn.";?> Das obige Beispiel wird nicht funktionieren, denn woher soll PHP wissen, dass Sie die Variable $einheit meinen, wenn Sie $einheitn schreiben? Lösung A (Punktnotation): echo "Der Upload dauerte $zeit $einheit"."n."; Lösung B (komplexe Syntax): echo "Der Upload dauerte $zeit {$einheitn."; 1. Geben Sie das obige Skript ein. Speichern Sie es als uebung3.php. 2. Was stimmt hier nicht? 3. Probieren Sie die Lösungen A und B aus. 5

4. Strings verbinden (2) <?php $zeit = 10; $einheit = "Minuten"; $text = "Der Upload dauerte"; $meldung = $text; $meldung.= " "; $meldung.= $zeit; $meldung.= " "; $meldung.= $einheit; $meldung.= ".<br>\n"; echo $meldung;?> Durch Verwendung von.= wird der rechts stehende Ausdruck an den aktuellen Inhalt der Variablen angehängt. Geben Sie das obige Skript ein. Speichern Sie es als uebung4.php. 6

5. Suchen & Ersetzen $text = "Das ist ein einfaches Beispiel."; //A $pos = strpos($text, "eis"); echo $pos."<br>\n"; echo strpos($text, "ei")."<br>\n"; echo strpos($text,"ei", 12)."<br>\n"; //B $pos = strpos($text, "Das"); if ($pos == 0) { echo "Der gesuchte Text steht ganz am Anfang!<br>\n"; //C $neuertext = str_replace("ein ", "ein dummes ", $text); echo $neuertext; 1. Geben Sie das obige Skript ein (uebung5.php). 2. Abschnitt A: strpos liefert die Position des Suchstrings (beginnend bei 0). Als drittes Argument kann ein Offset angegeben werden. Die Suche beginnt dann erst ab diesem Zeichen. 3. Abschnitt B: Ersetzen Sie "Das" durch "Dies". Was wird ausgegeben? Achtung: Bei Nichtfinden wird FALSE (Wert 0) zurückgegeben. Will man diesen Fall jedoch von dem Auffinden an Position 0 unterscheiden, muss man bei der Auswertung des Ergebnisses nicht allein auf gleichen Wert (==), sondern zusätzlich auf Typgleichheit (===) prüfen. Denn: FALSE hat zwar den Wert 0, ist aber kein Zahlenwert (Integer), sondern vom Typ Boolean. 4. Abschnitt C: Ein (dummes) Beispiel zum Ersetzen von Zeichenketten. 7

6. Regular Expressions <?php $suchmuster = "[A-Z]"; $text = "Das ist ein einfaches Beispiel."; $ergebnis = ereg($suchmuster, $text); if ($ergebnis) { echo "Gefunden!"; else { echo "Nix gefunden!";?> 1. Geben Sie das obige Skript ein (uebung6.php). 2. Verwenden Sie das Suchmuster "^D", um nach einem großen D am Zeilenanfang bzw. am Anfang des Textes zu suchen. 3. Verwenden Sie das Suchmuster "Spiel$", um nach der Zeichenkette Spiel am Zeilenende zu suchen. Erwartungsgemäß wird das Ergebnis FALSE sein. Probieren Sie es deshalb einmal mit der Funktion eregi(). 4. Eine nützliche Anwendung von ereg() ist die Umwandlung der amerikanischen in die deutsche Datumsdarstellung: $datum = "2004-3-11"; if (ereg("([0-9]{4)-([0-9]{1,2)-([0-9]{1,2)", $datum, $regs)) { echo $regs[3].".".$regs[2].".".$regs[1]; else { echo "Kein gültiges Datumsformat: $datum"; Erläuterungen hierzu s. PHP-Dokumentation (CHM-Datei). 8

7. Arrays <?php $navlinks = array("wir über uns","", "Gerichtsbezirk","Bekanntmachungen","Rechtsprechung NRW", "Recht von A-Z","Service","Links"); $anzahl = count($navlinks); echo "Anzahl der Navigationslinks: ".$anzahl."<p>\n"; //Alle Elemente der Reihe nach ausgeben foreach ($navlinks as $link) { echo $link."<br>\n";?> 1. Geben Sie das obige Skript ein (uebung7.php). 2. Ergänzen Sie nach der echo-zeile folgendes: sort($navlinks); Was passiert? 3. Ersetzen Sie die sort()-funktion durch rsort(). 4. Ergänzen Sie am Ende des Skripts folgende Zeilen: $pos = array_search("service", $navlinks); echo "Service ist an Position ".$pos; 9

8. Ausdrücke & Operatoren $a = 100; $b = 12.5; $c = $a + $b; echo $c."<br>\n"; $a *= $b; echo $a."<br>\n"; $d= ++$a; echo $d."<br>\n"; $e = $a++; echo $e."<br>\n"; echo $a."<br>\n"; $f = 20 % 6; echo $f."<br>\n"; Einfache Wertzuweisung und Addition Kombinierte Wertzuweisung/Operation Prä-Inkrement Post-Inkrement Modulus (Divisionsrest) 1. Geben Sie das obige Skript ein (uebung8.php). 2. Vollziehen Sie die einzelnen Beispiele nach. Die Ergebnisse lauten: 112,5 1250 1251 1251 1252 2 10

9. Vergleichsoperatoren $body = "Willkommen auf unserer Homepage.<br>\n"; $body.= "Lesen Sie das <a href=\"grußwort.htm\">grußwort</a>."; Schreiben Sie ein Skript, das nach einem Link in $body sucht. Wird ein Link gefunden, soll die Meldung "Link gefunden" ausgegeben werden, wird keiner gefunden, die Meldung "Kein Link gefunden". Erstellen Sie ein Skript nach den obigen Vorgaben (uebung9.php). Hier eine Liste aller Vergleichsoperatoren: V e r g le ic h s - o p e r a t o r A u s d r u c k E r k l ä r u n g G l e i c h $ a = = $ b T e s t a u f g le i c h e W e r t e. I s t d e r W e r t v o n $ a g l e ic h d e m v o n $ b, so ist d e r A u sd ru ck w a h r (T R U E ). U n g l e i c h $ a! = $ b T e s t a u f u n g l e i c h e W e r t e. I s t d e r W e r t v o n $ a u n g l e i c h d e m v o n $ b, s o is t d e r A u s d r u c k w a h r ( T R U E ). I d e n t i s c h $ a = = = $ b D i e W e r t e v o n $ a u n d $ b u n d d e r e n D a t e n t y p e n m ü s s e n g l e i c h s e i n, d a m i t d e r A u s d r u c k T R U E e r g ib t. N i c h t id e n t i s c h $ a! = = $ b D e r A u s d r u c k i s t T R U E, w e n n d i e W e r t e v o n $ a u n d $ b u n d / o d e r d e r e n D a t e n t y p e n u n t e r s c h i e d l i c h s i n d. K le in e r a ls $ a < $ b T R U E, w e n n d e r W e rt vo n $ a k le in e r ist a ls d e r v o n $ b. G rö ß e r a ls $ a > $ b T R U E, w e n n d e r W e rt vo n $ a g rö ß e r ist a ls d e r vo n $ b. K l e i n e r o d e r $ a < = $ b T R U E, w e n n d e r W e rt vo n $ a k le in e r o de r g le ich d em g l e i c h W e r t v o n $ b i s t. G r ö ß e r o d e r $ a > = $ b T R U E, w e n n d e r W e rt vo n $ a g rö ß e r o d e r g le ic h d e m g l e i c h W e r t v o n $ b i s t. 11

10. Kontrollstrukturen (1) $a = 2; switch ($a) { case 1: echo "eins"; break; case 2: echo "zwei"; break; case 3: echo "drei"; break; case 4: echo "vier"; break; 1. Betrachten Sie das Skript. Welche Ausgabe erwarten Sie? 2. Geben Sie das obige Skript ein (uebung10.php). 3. Was wird tatsächlich ausgegeben? 4. Ergänzen Sie nach jeder echo-zeile Folgendes: break; 12

11. Kontrollstrukturen (2) //For-Schleife for ($i = 1; $i < 10; $i++) { echo $i." "; //While-Schleife $i = 1; while ($i <= 10) { echo $i." "; $i++; //Do-While-Schleife $i = 1; do { echo $i++." "; while ($i <= 10); 1. Geben Sie das obige Skript ein (uebung10.php). 2. Was müssen Sie ändern, damit auch die Zahl 10 ausgegeben wird? 3. Erstellen Sie eine While-Schleife, die die Zahlen 1-10 ausgibt. 4. Erstellen Sie eine Do-While-Schleife, die die Zahlen 1-10 ausgibt. 13

12. Funktionen $x = -12.34; echo abs($x)."<br>\n"; Absoluter Betrag echo ceil($x)."<br>\n"; Aufrunden zur n.h. Ganzzahl echo floor($x)."<br>\n"; Abrunden zur n.n. Ganzzahl echo round($x,1)."<br>\n"; Rundung auf 1 Nachkommastelle $y = array(10,20,25,50,100); echo min($y)."<br>\n"; Niedrigster Wert aus einer Liste echo max($y)."<br>\n"; Höchster Wert aus einer Liste echo pow(5,2)."<br>\n"; 5 hoch 2 echo sqrt(36)."<br>\n"; Wurzel aus 36 echo pi(); Wert von Pi 1. Geben Sie das obige Skript ein (uebung12.php). 2. Vollziehen Sie die einzelnen Beispiele nach. Die Ergebnisse lauten: 12,34-12 -13-12,3 10 100 25 6 3.1415926535898 14

13. Eigene Funktionen A B function Uhrzeit () { $ergebnis = date("h:i")." Uhr"; return $ergebnis; echo Uhrzeit(); echo Uhrzeit(); function Uhrzeit ($fett = false) { $ergebnis = date("h:i")." Uhr"; if ($fett == true) { $ergebnis = "<b>".$ergebnis."</b>"; return $ergebnis; 1. Geben Sie das obige Skript A ein (uebung13.php). Details zur Date()-Funktion s. PHP-Dokumentation. 2. Funktioniert das Skript auch, wenn man die echo-anweisung an den Anfang setzt? 3. Bauen Sie Skript A zu Skript B um. Ihre Funktion besitzt nun einen optionalen Parameter. Wird dieser auf true gesetzt, erscheint die Ausgabe der Uhrzeit fettgedruckt. 15

14. Includes <html><head> <title>include-demo</title> <head><body> <?php include ("./beispiel.inc"); echo "Es ist ".Uhrzeit(true)."!";?> </body></html> 1. Speichern Sie Skript B - ohne die echo-zeile - aus der vorherigen Übung 13 unter dem Namen beispiel.inc. 2. Erstellen Sie nun das obige Skript und speichern Sie es als uebung14.php. 3. Probieren Sie das Skript aus. 4. Was passiert, wenn man./ vor beispiel.inc weglässt? 5. Was passiert, wenn man die Skript-Tags in der Include-Datei weglässt? 16

15. Die GET-Methode <?php $navlinks = array("wir über uns","", "Gerichtsbezirk","Bekanntmachungen","Rechtsprechung NRW", "Recht von A-Z","Service","Links"); if (isset($nr)) { echo "Die Seite <i>".$navlinks[$nr]."</i> wurde aufgerufen!"; else { echo "Ein Parameter wurde nicht übergeben!";?> 1. Geben Sie das obige Skript ein (uebung15.php). 2. Rufen Sie das Skript folgendermaßen auf: http://localhost/kurs/uebung15.php?nr=1 3. Was wird ausgegeben? 17

16. Abschlussübung 1. Erstellen Sie eine Funktion namens HtmlTabelle, die anhand der Parameter Zeilenzahl und Spaltenzahl eine mit fortlaufenden Zahlen gefüllte HTML-Tabelle (border = 1) ausgibt. 2. Speichern Sie die Funktion in einer Datei namens tabelle.inc ab. 3. Erstellen Sie unter Einbeziehung von html.inc ein PHP-Skript tabelle.php, das beim Aufruf tabelle.php?zeilen=5&spalten=10 die enstprechende Tabelle ausgibt. 4. Zusatzaufgabe: Färben Sie alle ungeraden Zeilen gelb. Lösung tabelle.php <?php include "./tabelle.inc"; echo HtmlTabelle($zeilen,$spalten);?> tabelle.inc function HtmlTabelle ($Zeilenzahl, $Spaltenzahl) { $tabelle = "<table border=\"1\">\n"; for ($z = 1; $z <= $Zeilenzahl; $z++) { if ($z % 2) { $tabelle.= "<tr bgcolor=\"yellow\">"; else { $tabelle.= "<tr>"; for ($s = 1; $s <= $Spaltenzahl; $s++) { $inhalt++; $tabelle.= "<td>$inhalt</td>"; $tabelle.= "</tr>\n"; $tabelle.= "</table>\n"; return $tabelle; 18