Powerpoint PHP-Einführung 3
Transcription
Powerpoint PHP-Einführung 3
Herbst 2014 Einführung in die Scriptsprache PHP Teil 3 Wirtschaftsinformatik: 5. Semester Dozent: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW - Reiner Telesko / Martin Hüsler 1 Inhalt: • Repetition Sessions - Beispiel «Login» • Cookies - Beispiel «Bestellung» • Wichtige Funktionen • PDF’s aus PHP - Übung Fachhochschule Nordwestschweiz FHNW - Reiner Telesko / Martin Hüsler 2 Session: Kurzzeit-Gedächtnis für PHP - Informationen während einer Session (Browsersitzung) können im $_SESSION[]-Array gespeichert werden. - PHP kann unabhängig, in welchem Programmteil diese "gemerkt" wurden, wieder darauf zugegriffen. In einer Session-Variable speichern wir, ob der Nutzer eingeloggt ist. Abfrage: IF ($_SESSION['eingeloggt'] == True) { } Ist die Person nicht berechtigt ($_SESSION['eingeloggt'] == False), soll das Login-Formular angezeigt werden. - Login-Formular (einloggen_a.php) - Resultatfenster (einloggen_b.php) mit Links auf weitere Seiten (einloggen_c.php) oder Links auf «einloggen_a.php» bei fehlerhaftem Login. - Beispielseite (einloggen_c.php) Hier wird die Berechtigung überprüft und dann etwas ausgegeben. Fachhochschule Nordwestschweiz FHNW - Reiner Telesko / Martin Hüsler 3 Cookies: Gedächtnis für PHP (Buch Seite 413) Wollen Sie Daten für einen längeren Zeitraum aufbewahrt halten, über mehrere Tage oder gar Jahre, können Sie Cookies verwenden. Die Daten werden in kleinen Dateien auf den Rechnern der Benutzer gespeichert (je nach Einstellung eines Browsers können Cookies auch abgelehnt werden). Sie können Cookies mit Hilfe der Funktion setcookie() erzeugen. In jedem Fall müssen Sie dem Cookie: - einen Namen geben - einen Wert zuweisen - ein Ablaufdatum setzen Fachhochschule Nordwestschweiz FHNW - Reiner Telesko / Martin Hüsler 4 Cookies: Gedächtnis für PHP (Buch Seite 413) Code-Beispiel: <?PHP // zuerst prüfen ob Cookie bereits vorhanden if (isset($_COOKIE["name"])) { // Formulardaten hier entsprechend abfüllen // oder auf Webseite freundlich begrüssen } else { // Name aus Formular lesen und speichern setcookie("name", "Martin", time()+ 60*60*24*360); } Fachhochschule Nordwestschweiz FHNW - Reiner Telesko / Martin Hüsler 5 Cookies: Wo zu finden im Browser? Im Firefox unter «Einstellungen», «Einstellungen» das Register «Datenschutz» wählen. Klicken Sie auf den Button «Cookies» anzeigen und suchen Sie Ihre Cookies! Fachhochschule Nordwestschweiz FHNW - Reiner Telesko / Martin Hüsler 6 Validierung 1 php.net Validierung in der Informatik bezeichnet die Prüfung der Eingaben vom Benutzer oder externen Datenquellen. Validierung Formular-Eingabeüberprüfung trim() Entfernt Leerzeichen vor und nach einem String! mysqli_real_escape_string() Bestimmte Zeichen werden mit einem «\» maskiert (\,",’) damit der String für eine SQL-Abfrage verwendet werden kann. Schützt vor SQL-Injection! stripslashes() Gibt einen String zurück, aus dem alle Backslashes ("\") von maskierten Zeichen entfernt wurden (ein \" wird zu einem "). Fachhochschule Nordwestschweiz FHNW - Reiner Telesko / Martin Hüsler 7 Validierung 2 Prüfen Sie die Formulareinträge weiter mit … empty($_POST[..])oder isset($_POST[..]) Prüfen Sie, ob die eingegebenen Datentypen stimmen … is_numeric(), is_int(), strlen(), usw. Falls ein Datum eingegeben wird prüfen Sie mit: checkdate($monat, $tag, $jahr); Die Funktion gibt true zurück falls das Datum möglich ist. Sie können mit der Funktion explode ein eingegebenes Datum trennen: $enddatum_array = explode('.',$enddatum); $tag=$enddatum_array[0] $monat=$enddatum_array[1]; $jahr=$enddatum_array[2]; if (checkdate($monat, $tag, $jahr) == false)… Lesen Sie mehr über diese Validierungsfunktionen in «php.net»! Fachhochschule Nordwestschweiz FHNW - Reiner Telesko / Martin Hüsler 8 PDF-Dateien erstellen Buch Seite 503 Bei der Installation von XAMPP wird die Bibliothek «fpdf» mitgeliefert (unter xampp\php\pear\fpdf).* fpdf ist keine Sammlung von Funktionen sondern eine Sammlung von Klassen. Zum Erstellen von PDF-Dateien sind Kenntnisse der objektorientierten Programmierung erforderlich. *Sonst finden Sie die Bibliothek auf der Webseite «www.fpdf.org». Fachhochschule Nordwestschweiz FHNW - Reiner Telesko / Martin Hüsler 9 PDF-Dateien erstellen pdf_einfach.php (Buch Seite 503 ff) <?PHP require("fpdf/fpdf.php"); $pdf=new FPDF(); $pdf->AddPage(); $pdf->Cell(50,20,"Hallo"); $pdf->Output("pdf_test.pdf"); ?> // neues Objekt erzeugt // erzeugt eine Seite // erzeugt Zelle //Ausgabe in File Das pdf «pdf_test.pdf» wird im selben Verzeichnis erzeugt, in welchem Sie das «pdf_einfach.php» aufrufen. Fachhochschule Nordwestschweiz FHNW - Reiner Telesko / Martin Hüsler 10 PDF-Dateien erstellen pdf_einfach.php (Buch Seite 503 ff) <?PHP require("fpdf/fpdf.php"); $pdf=new FPDF(); $pdf->AddPage(); // Schriftart BUI Fett, Unterstrichen, Kuriv $pdf->SetFont("Helvetica","BUI",24); $pdf->SetTextColor(255,0,0); // RGB-Farbmodell // Ausgabe für Fliesstext Zeilenhöhe und Text $pdf->Write(20,"Text über mehrere Zeilen"); $pdf->Output("pdf_test.pdf"); ?> Fachhochschule Nordwestschweiz FHNW - Reiner Telesko / Martin Hüsler 11 PDF-Dateien erstellen Bild einfügen (Buch Seite 516) <?PHP require("fpdf/fpdf.php"); $pdf=new FPDF(); $pdf->AddPage(); // Methode Image Dateiname, x-Position, y-Position, // Bildbreite, Bildhöhe $pdf->Image("Blume.jpg",50,10,30,20); $pdf->Image("inarbeit.gif",20,10); $pdf->Output("pdf_test.pdf"); ?> Fachhochschule Nordwestschweiz FHNW - Reiner Telesko / Martin Hüsler 12