Ziel des Projekts:
Ziel war es eine Online Datenbank zu erstellen mit der man Ausbildungsprofile
erstellen kann. Ein Ausbildungsprofil listet für jeden Arbeitsbereich
eines Berufstätigen die dazu notwendigen Kompetenzen auf. Das Projekt
besteht aus einer MySQL-Datenbank und einer PHP-Oberfläche. Den prinzpiellen
Zugang zur Datenbank habe ich einfach mit Hilfe eines passwortgeschützen
Ordners (Stichwort: .htaccess) beschränkt.
Für den Zugang zur Verwaltung der Arbeitsbereiche muss der eingeloggte
User in der MySQL-Tabelle "BenutzerFunktionen" als "2teach_admin"
eingetragen sein. Welcher User gerade eingeloggt ist wird nicht in Session-Variablen
gespeichert sondern aus der $_SERVER['PHP_AUTH_USER']-Variable ausgelesen.
Diese Variable sollte automatisch nach dem Einloggen in einen passwortgeschützten
Ordner vom Apache-Server gesetzt werden, allerdings unterbinden viele
Provider dies aus mir unbekannten Gründen.
Demoversion:
Hier können Sie sich eine Demoversion (Login: 2teach Passwort: 2teach) anschauen und frei darin herumtoben. Beachten Sie beim Login und Passwort die Kleinschreibung.
Installation & Download:
Voraussetzung für die volle Funktionsfähigkeit von 2TEACH ist wie oben bereits erwähnt, dass der Apache-Server ihres Providers die $_SERVER['PHP_AUTH_USER']-Variable setzen lässt.
Wenn Sie sich 2teach auf Ihrer Homepage installieren wollen, gehen Sie wie folgt vor:
CREATE TABLE IF NOT EXISTS `2TEACH_Arbeitsbereiche` ( `ArbeitsbereichsID` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `Sortierreihenfolge` smallint(5) unsigned NOT NULL, `Arbeitsbereich` varchar(30) COLLATE latin1_german2_ci NOT NULL, `TextDropDownList` varchar(255) COLLATE latin1_german2_ci NOT NULL, PRIMARY KEY (`ArbeitsbereichsID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=9 ;
CREATE TABLE IF NOT EXISTS `2TEACH_Kompetenzen` ( `KompetenzID` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `ElternKompetenzID` mediumint(8) unsigned NOT NULL, `ArbeitsbereichsID` mediumint(8) unsigned NOT NULL, `Sortierreihenfolge` mediumint(8) unsigned NOT NULL, `Kompetenz` varchar(255) COLLATE latin1_german2_ci NOT NULL, `ErstelltAm` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `Autor` varchar(50) COLLATE latin1_german2_ci NOT NULL, PRIMARY KEY (`KompetenzID`), UNIQUE KEY `ArbeitsbereichsID` (`ArbeitsbereichsID`,`Sortierreihenfolge`,`Kompetenz`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=105 ;
CREATE TABLE IF NOT EXISTS `BenutzerFunktionen` ( `BenutzerFunktionsID` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `Benutzer` varchar(20) COLLATE latin1_german2_ci NOT NULL, `Funktion` varchar(40) COLLATE latin1_german2_ci NOT NULL, PRIMARY KEY (`BenutzerFunktionsID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=23 ; -- -- Daten für Tabelle `BenutzerFunktionen` -- INSERT INTO `BenutzerFunktionen` (`BenutzerFunktionsID`, `Benutzer`, `Funktion`) VALUES (9, '2teach', '2teach_admin');
Nun können Sie die Seite index.php aufrufen und es sollte funktionieren.