PHP + MySQL PHP

Werbung
PHP + MySQL
PHP
•
•
•
•
•
•
Interpretiert, aber gepuffert (cache).
Sehr nahe an perl, dennoch nicht gleich.
Viele eingebaute bibliotheken.
Einfache anbindung an datenbanken.
Kann in HTML-seite eingebunden werden.
Eingebaute „session management“
1
MySQL
•
•
•
•
•
•
PD-datenbank.
Keine (richtigen) transaktionen.
Treiber für fast alle umgebungen.
Leicht zu verstehen.
Folgt (fast) vollständig dem SQL standart.
Referenzen müssen manuell nachgeführt
werden
Session Management
• Mit den PHP funktionen:
–
–
–
–
–
eindeutige zuweisung
sehr einfach
schreibt in dateien -> gc
erfordert cookies oder URL-rewrite
globales timeout
2
Session Management
• Explizit, unter verwendung der datenbank.
–
–
–
–
–
–
courses: verwendet IP-nummer!
courses: pro benutzer, nicht session!
individuelles timeout
persistent, auch nach neustart des rechners
muss alles “von hand” machen
kein aufräumen von temp. dateien nötig
Locking
• Schwierig, da HTTP stateless
Beispeil:
benutzer 1 und 2 laden dieselbe seite mit eingabefeldern,
beide machen unterschieldiche änderungen.
benutzer 1 speichert seine änderungen.
benutzer 2 speichert seine änderungen, dabei gehen jen von
benutzer 1 verloren.
• MySQL bietet verschiedene möglichkeiten
3
Courses
Courses
Study
People
Lang.
Sessions
Credits
Entries
Groups
Strings
Courses - People
CREATE TABLE people (
id INT NOT NULL AUTO_INCREMENT,
entered DATETIME NOT NULL,
expires DATE NOT NULL,
login CHAR(128) NOT NULL,
md5 CHAR(64) NOT NULL DEFAULT '*',
given CHAR(64),
surname CHAR(64) NOT NULL,
address TEXT,
idno CHAR(64) NOT NULL,
mobile CHAR(64),
studyID INT NOT NULL,
sessionCount INT NOT NULL DEFAULT 1,
note CHAR(64),
roles SET("GUEST", "STUDENT", "ASSISTANT", "CHIEFASSISTANT",
"PROFESSOR", "SECRETARY", "ADMINISTRATOR", "DEVELOPER") NOT NULL
DEFAULT 'student',
languageID INT NOT NULL DEFAULT 2,
logDate TIMESTAMP DEFAULT 0,
logHost CHAR(128) DEFAULT '',
PRIMARY KEY(id),
UNIQUE INDEX(login),
UNIQUE INDEX(surname, given, id),
INDEX(idno),
INDEX(roles));
4
Anmeldung
•
•
•
•
•
login-fenster präsentieren
formular absenden: checkin
bei fehler: zurück zur login
bei erstanmeldung: profil erstellen
sonst: menu mit übersicht
5
Herunterladen