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