Webanwendungen mit PHP

Client-Server-Technik

Webdesign

Testumgebung mit XAMPP

Gehe auf http://www.apachefriends.org und lade eine passende Distribution herunter. Empfohlen wird die Portable-Version (http://sourceforge.net/projects/xampp/files/XAMPP%20Windows/5.6.24/). Einfach im Hauptverzeichnis entpacken und schon hast du die fertige Entwicklungsumgebung inklusive Webserver, PHP und Datenbank MySQL.

PHP-Tutorial

Einen Kurs und ein Nachschlagewerk findest du wie gewohnt auf W3-Schools

Vorlage

Verwende für alle Übungsbeispiele eine vollständige HTML-Datei

<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>


<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>

<?php


?>

</body>
</html>

Aufgabenstellungen

Erstelle eine korrekte HTML-Datei (mit Endung .php) als Vorlage und kopiere sie jeweils für jedes PHP-Programm.

Gehe auf W3Schools und arbeite die Kapitel "Syntax" bis "Strings" durch

Aufgabe 1: Schreib den Satz "PHP ist cool!" in eine Variable. Gib den Satz, die Anzahl der Buchstaben, die Anzahl der Wörter und den Satz rückwärts aus. Soll dann so aussehen

Arbeite die Kapitel "Operators" bis "For-Loops" durch

Aufgabe 2: Belege 2 Variablen mit Zahlen und führe die 4 Grundrechnungsarten durch. Soll dann so aussehen

Aufgabe 3: Belege 3 Variablen mit den Parametern einer Quadratischen Gleichung. Gib die Lösung an. Mach eine Fallunterscheidung für 0, 1, 2 Lösungen Soll dann so aussehen (nur eine der 3 Varianten, probier aber unterschiedliche Parameter)

Aufgabe 4: Liste die Fakultät aller natürlichen Zahlen auf, solange sie eine bestimmte Obergrenze (zB 10^9) nicht überschreitet. Verwende dabei einmal while und einmal do...while. Soll dann so aussehen

Aufgabe 5: Liste die 3er-Reihe von 1*3 bis 100*3 durch eine Schleife auf. Soll dann so aussehen

Aufgabe 6: Liste das kleine Einmaleins von 1*1=1 bis 10*10=100 auf. Soll dann so aussehen

Aufgabe 7: Studiere das Kapitel "Functions" und schreib die Lösungsfunktionalität für die quadratische Gleichung in eine Funktion, die dann mehrfach hintereinander für unterschiedliche Parameter aufgerufen wird. Soll dann so aussehen

Studiere die Kapitel "Arrays" und "Sorting Arrays"!

Aufgabe 8: Erzeuge einen assoziativen Array mit Ländern und einen mit deren Hauptstädten. Verwende als key jeweils die Top Level Domain. Diese Ausgaben sollen gemacht werden

Studiere die Kapitel "Superglobals" und "Form Handling".

Aufgabe 9: Arbeite das Beispiel mit der quadratischen Gleichung so um, dass man die Parameter eingeben kann. Soll dann so aussehen

Studiere die Kapitel "File Handling, File Open/read, File Create/Write".

Aufgabe 10: Erstelle einen Zähler, der die Seitenaufrufe zählt und den aktuellen Stand in der Datei "zaehler.txt" ablegt. Gelesen wird mit fgets und geschrieben mit fwrite. Achtung: vor dem Schreiben, den Zeiger an den Anfang der Datei setzen. Soll dann so aussehen

Aufgabe 11: Erstelle ein einfaches Gästebuch, das die Kommentare in eine Textdatei schreibt. Soll dann so aussehen. Informationen, wie so etwas einfach geht findest du in gaestebuch.pdf

Studiere das Kapitel "Cookies". Kopiere alle Beispiele in eigene Dateien und probiere sie aus. Warum behauptet das letzte Beispiel (Check ob aktiviert) beim ersten Aufruf, dass Cookies nicht aktiviert seien auch wenn sie in Wahrheit aktiviert sind?

Aufgabe 12: Erstelle eine einfache Onlineumfrage, die die Antworten in einer Textdatei speichert und grafisch darstellt. Soll dann so aussehen. Informationen, wie so etwas einfach geht findest du in umfrage.pdf

Aufgabe 13: Studiere die restlichen Unterkapitel von "Forms" und probiere alles in eigenen Dateien aus. Studiere besonders die Hackermethode des Cross-site scriptings und mach entsprechende Versuche.
Die Formularvalidierung sollte eigentlich in ein zu verschickendes Mail münden. Heutige Mailserver verlangen oft Authentifizierung. Dafür findet man in kontakt.zip eine Möglichkeit. Die Formular- und Variablennamen müssen allerdings noch mit jenen in "Forms" übereingestimmt werden.