FA-Pass
(FA-UserManagementSystem [FA-UMS])
Copyright by Falk Amthor
Homepage
|
Stand: 16.10.2001
Einleitung:
FA-Pass ist eine User-Management-Lösung die jeder für seine Zwecke anpassen
kann. Den Umfang der Datenbank kann jeder selber bestimmen genauso wie das
User-Handling.
Das Herz von FA-Pass ist eine SQL-Tabelle in der nur die wichtigsten Daten der
User gespeichert sind. Alle weiteren Daten sollen in Extra-Tabellen gespeichert
werden und können mittels den Plugin-/Erweiterungs-System von FA-Pass
individuell eingebunden werden.
Es soll fertige Erweiterungen geben, die man ohne Programmierkenntnisse
einbinden kann aber es kann auch jeder seine eigene Erweiterung entwickeln.
FA-Pass wird mit der Session-Classe von Daniel T. Gorski (Classe
und Anleitung) angeboten, es arbeitet aber auch mit jeder anderen
Session-Verwaltung zusammen.
Viel Spaß mit FA-Pass!
Umfang von FA-Pass
- Registierung, Passwortsenden,Profil
- Adminstations-Bereich
- User-Level
- Letzter Login, Registierungsdatum, X-Mal eingelogt
- Timeout
- User Sperren
- Punkte-System
- und vieles mehr.
Systemanforderungen:
- PHP4
- MySQL-Datenbank
- PHP-Sessions (ist normalerweise aktiviert)
Lizenz:
FA-Pass ist nur für nicht-geschäftliche Zwecke (nach deutschem Recht) frei
verwendbar.
Für nicht-geschäftliche Zwecke darf FA-Pass beliebig erweitert und angepasst
werden. Das Copyright muss aber stehen bleiben.
Ich freu mich, wenn Sie mir sagen, wo Sie das Script einsätzten. Es ist außerdem nett, wenn Sie ein Link zu mir setzen ;-)
Lizenz-Preis für die geschäfliche Nutzung:
Die Lizenz für die Nutzung von FA-Pass 3.1 unter einer Domain berechne ich mit 40,00 Euro (ca. 78,00 DM). Sie haben dann die vollen Nutzungsrechte unter einer genannten Domain und deren Subdomains (z.B. faProjecst.de, php.faProjects.de).
Natürlich ist Support im Forum inklusive. Sie dürfen FA-Pass natürlich auch beliebig anpassen und erweitern.
Es können auch Sonderreglungen vereinbart werden.
Sie können FA-Pass auch erst einmal Testen. Benachrichtigen Sie mich aber bitte um Missverständnisse vorzubeugen.
Bei Fragen zur Lizenz und bei Lizenz-Bestellungen wenden Sie sich bitte an lizenz@faprojects.de.
Quick-Install:
- FA-Pass auf den Server laden
- install.php im Browser aufrufen
- install.php löschen.
- Das war's!
Installations-Probleme:
Sollte die Installation nicht klappen, kann es an folgendem liegen:
Keine Schreibrechte? die CHOMOD-Rechte der genannten Dateien müssen 777 sein (alle Häkchen außer Schreibrechte für "Andere" bei WS_FTP)
Haben Sie die richtigen DB-Daten angegeben?
Falls man sich nicht einlogen kann: Stimmen die URLs? Schauen Sie dazu bitte in die conf.php im inc-Verzeichnis auf Ihrem Server (die conf.php wird beim Installieren erzeugt) und korrigieren Sie die URLs, falls sie falsch erkannt worden sind.
Richtige PHP-Version? Es muss PHP4 sein!
Ansonsten schauen Sie bitte in das Forum auf der Homepage.
Update von 3.1 beta x:
Es hat sich fast alles geändert. D.h. sichern Sie am besten Ihre alte Version und Installiern FA-Pass neu: aktivieren Sie aber die Checkbox "Update" in der install.php.
Nach der Installation können Sie Ihre Webseiten (Index.php, Login.php, usw.) darüber spielen. Da nur in den programm-dateien was geändert wurde, müssen Sie Ihr Layout nicht nochmal anpassen.
Achtung: bei der Login-Seite muss der Formular-Action-Tag so geändert werden, wie in der beiliegenden Login-Datei.
Fragen? Probleme?
Schauen Sie immer auf die Homepage und
in das Forum. Dort gibt es eher Hilfe, als über meine eMail-Adresse!
fa_pass.php
Diese Datei regelt folgende Sachen:
1.) Registrierung
Siehe die Datei register.php
2.) Passwort Senden
Das Script liest zu einem Login-Namen oder einer E-Mail-Adresse die
Zugangsdaten aus und sendet das per E-Mail (sendmail). Bitte die Datei
editieren! Der Text der Email ist in der Datei send_text.txt gespeichert. Das
Formular muss Felder folgende Namen haben:
- Text-Felder: email UND/ODER login_name
- Submit-Button:send_pass
- Action Tag: <form action="<?php echo $conf_pass->fa_ums_url?>?<?php echo SID;?>" method="post">
3.) Profil ändern
Siehe die Datei profil.php (das ist eine Beispiel-Datei)
4.) Log-Out
Zum Auslogen muss auf die fa_pass.php folgendermaßen verlinkt werden:
fa_pass.php?log_out=1
Zum Auslogen mit gleichzeitigen zerstören der Session:
fa_pass.php?log_out=1&destroy=1
5.) Löschen des Accounts: Zum Löschen eines Accounts muss die fa_pass.php über
folgenden URL aufgerufen werden:
fa_pass.php?del_user=1
Einbinden von FA-Pass
Im Admin-Bereich unter "Code-Einbau" wird automatisch der Code generiert, der in Ihren Webseiten ganz oben eingefühgt werden muss.
Globale User-Daten:
Viele Userdaten werden häufig benötigt und sind deshalb automatisch da (die Daten werden in der Session gespeichert):
$ums_user_level; // User-Level
$ums_user_id;// User-ID
$ums_nic;// Nick
$ums_last_visit;// letzter Login
$ums_user_logins; // Logins
$ums_user_points; //Punkte
Diese Userdaten können Sie überall einbinden. z.B. <?=$ums_nic?>
Wenn Sie z.B. das Login-Formular in mehreren Seiten einbinden, können Sie es so machen, das das Formular nur dann angezeigt wird, wenn der User nicht eingelogt ist:
<?php if(!$ums_nic){ ?>
-- Das Formular ---
<?php }else{ ?>
Sie sind bereits angemeltet!
<?php } ?>
Punkte-System:
Um die User-Aktivitäten besser im Auge zu haben, gibt es jetzt das Punkte-System.
Mit <?php points("+1") ?> addieren Sie 1 Punkt.
Mit <?php points("-15") ?> ziehen Sie 15 Punkt ab
Falls Sie auf Ihrer Seite noch nicht die Datenbank-Classe und die Functions-Datei eingefühgt haben, müssen Sie diesen Code irgendwo überhalb der eben genannten "Punkte-Funktion" einfühgen:
<?php
include_once ($conf_pass->pfad_db_class);
$db=new db($conf_pass->db_host,$conf_pass->db_user,$conf_pass->db_pass,$conf_pass->db_name);
include_once $conf_pass->pfad_inc."/functions.inc.php";
?>
Bei den Dateien, die in inc/user liegen, muss nur das oben eingefühgt werden:
include_once $conf_pass->pfad_inc."/functions.inc.php";
Plugins/Erweiterungen:
Im Verzeichnis inc/user liegen Dateien, die bei entsprechenden Aktionen mit ausgeführt
werden. So muss man keine Änderungen an den FA-Pass Programmdateien gemacht
werden.
In die Dateien kann alles, solang keine Ausgabe erfolgt (z.B. kein echo "text", oder <b>text</b>)und der PHP-Code fehlerfrei ist ;-)
Die Dateien:
- reg.inc.php: Diese Datei nach der erfolgreichen Registrierung ausgeführt. Es
darf keine Meldunge, Leerzeichen usw. ausgegeben werden.
- reg_mailcheck.php: Diese Datei sendet eine E-Mail an den User.
- activ_mailcheck.php : Diese Datei wird nach dem Freischalten eines Accountes
über einen eMail-Link ausgeführt. Es darf auch nichts ausgegben werden.
- profil_read.inc.php: Diese Datei wird beim lesen eines Profils ausgeführt.
- profil_save.inc.php: Diese Datei beim Speichern.
- del_user.php: Diese Datei beim löschen eines User-Accounts.
- login_ok.php: nach erfolkreichem Login.
- login_wrog_data: bei falschen Login-Daten
Sie können auch Module ins Admin-Center einbinden. Tragen Sie dazu in der conf.php unter "Sonstiges" z.B. more_link='url.php||Linkname' ein. An die URl wird dann automatisch die User-ID übergeben ($uid).
Mehrere Versionen und eine Datenbank
Wenn Sie mehrmals FA-Pass installieren wollen und die gleiche Datenbank benutzen wollen können Sie bei der Installation einen anderen Tabellen-Namen angeben.
Formular-Check:
Die Datei check.inc.php im "inc"-Verzeichnis übernimmt die Formularprüfung für das Profil und für die Registrierung. Bis jetzt wird nur das Passwort überprüft.
Sessions:
Dieser Passwortschutz arbeitet mit Sessions-IDs, welche mit der Session-Classe
gestartet werden. Diese Classe bietet auch ein entsprechendes Fall-Back, wenn
Cookies nicht unterstützt werden. Um diese Funktion zu nutzen, müssen Links mit
entsprechenden Funktionen umgeschrieben werden. Siehe:
http://www.koehntopp.de/php/faq-version4_session.html#version4_session-4
Links müssen z.B. so umgeschrieben werden:
<a href="seite.php?<?=SID?>">ein Link</a> oder:
<a href=<?=$session->url("seite.php")?>>ein Link</a>
Änderungen:
- Globale User-Vars Bufix
- Session-Destroy-Bugfix
- Punktesystem-Bugfix
- Installations-Bugs behoben
# zu 3.1 Stable:
- Bessere Datenbank-Classe -> anderer DB-Aufruf
- installations-Script
- Bugfixing
- Modularer
# von 3.1 beta 4 zu 3.1:
- db_classe geändert
- alle Dateien, die die db_classe brauchen geänert
- Fehlermeldungen erweitert.
# von 3.1 beta 3 zu beta 4:
- handling von Fehlermeldung
- Passwort-Sende-Bug behoben
- einige anderen Bugs behoben
# von 3.1 beta 2 zu beta 3:
- Passwörter werden verschlüsselt gespeichert
- Admin-Bug behoben
- Login jetzt auch von HTMl-Seiten möglich
- noch ein Inlcude-Bug behoben
# von 3.1 beta zur beta 2:
- Zugangsdaten ein Jahr im Cookie speicherbar
- Include-Bug beseitigt.
# von 3.0 zu 3.1 beta:
- eigendlich fast alles neu...
- Admin-Menue
- User-Level
- und vieles mehr.
# von 3.0b zu 3.0:
- Passwortschutz in die fa_pass.php eingebunden
- Feldnamen varierbar gemacht
- DELETE-Funktion hinzugefügt
Falk Amthor Homepage