Kommentare: 14 » aufmachen
Peter:
Super Sache! Könnte man ggf. das Script so abändern, dass der Admin einen neuen Nutzer erst freischalten muss, bevor dieser auf die geschützten Seiten zugreifen kann? Also im Prinzip die Bestätigungsmail an den Admin senden und nicht an den Nutzer. Eine Bestätigung von diesem ist eigentlich nicht so wichtig.
Wo werden denn die Anmeldeinformationen gespeichert? In einem Cookie? Dann wäre es cool, wenn man dieses nach einer bestimmten Zeit automatisch löschen könnte, sodass sich die Nutzer neu einloggen müssten.
Könnte man in der Nutzerverwaltung auch noch ein Feld einpflegen in dem man sieht, wann sich der Nutzer zum letzten Mal angemeldet hat?!
Beste Grüße und vielen Dank!
Werner:
Vielen Dank für deine Meinung.
Zitat: „Eine Bestätigung von diesem ist eigentlich nicht so wichtig.”
Das halte ich hingegen für sehr wichtig. Aus eigener Erfahrung weiß ich, das viele Benutzer sich irgendwo anmelden aber später kein Interesse mehr dran haben. Auch die E-Mail Bestätigung ist wichtig, um eine spätere Kontaktaufnahme (z.B.: bei einem Problem) zu gewährleisten. Der Benutzer könnte ja auch eine ungültige E-Mail-Adresse angeben.
Zitat: „Könnte man ggf. das Script so abändern, dass der Admin einen neuen Nutzer erst freischalten muss, bevor dieser auf die geschützten Seiten zugreifen kann? Also im Prinzip die Bestätigungsmail an den Admin senden und nicht an den Nutzer. ”
Das kann man in der folgenden Zeile ändern:
mysql_query("UPDATE `" . $TBL_NAME . "` SET `email_ok` = '1', `sperre` = '1' WHERE `register` = '" . $register . "'");
den Wert
`sperre`= '1'
auf
0 setzen (Datei:
register.php).
Der Admin bekommt auch eine E-Mail, dieser kann dann den Benutzer freischalten.
Zitat: „Könnte man in der Nutzerverwaltung auch noch ein Feld einpflegen in dem man sieht, wann sich der Nutzer zum letzten Mal angemeldet hat?!”
Da bin ich gerade dabei so etwas einzubauen.
Zitat: „Wo werden denn die Anmeldeinformationen gespeichert? In einem Cookie? Dann wäre es cool, wenn man dieses nach einer bestimmten Zeit automatisch löschen könnte, sodass sich die Nutzer neu einloggen müssten.”
Die Anmeldeinformationen werden in einer
Session ohne zeitliche Begrenzung gespeichert (ich habe auch nicht vor das zu ändern!). Die
Session wird gelöscht sobald sich der Benutzer abmeldet oder der Browser geschlossen wird.
Peter:
Hallo Werner,
funktioniert alles soweit gut. Danke! Stellst Du eine kurze Nachricht ein, wenn Du ein Update des Schutzes online gestellt hast (z.B. mit der Erweiterung der letzten Anmeldung o.ä.).
Beste Grüße
Werner:
Das Update ist verfügbar. Beachte, das vor der Installation die alte Datenbanktabelle gelöscht werden muss.
Peter:
Und gleich noch eine Frage:
Du schreibst, dass die Anmeldeinformationen in einer Session gespeichert werden und erst bei Abmeldung oder geschlossenem Browser gelöscht werden. Allerdings beobachte ich bei mir folgendes:
Ich kann mich einloggen und gelange in den geschützten Bereich (der in einem gesonderten Ordner liegt). Sobald ich jedoch eine andere Seite der Website aufrufe die nicht geschützt ist und anschließen wieder auf die geschützte zurück möchte (also den Menubutton anklicke), muss ich mich wieder neu anmelden?!
Werner:
Nicht jeder Browser behält die Session. Mit dem IE5 womit ich es getestet habe da ging es. Um sicher zu gehen daß das Session-Cookie weiter transportiert wird, gehört an den Anfang einer jeden Seite ein:
<?php
session_start();
?>
Peter:
Hallo Werner,
habe es in mein bereits laufendes Script eingebastelt (waren ja nicht viele Änderungen) und es funktioniert gut. Danke dafür!
Das Sahnehäubchen wäre jetzt noch eine Seite auf der der jeweils angemeldete Nutzer selber seine Daten ändern könnte (z.B. Passwort o.ä.) und dieses dann per Mail bestätigt bekäme (bzw. der Admin über Änderungen informiert würde). Ist so etwas viel Arbeit?
Im Prinzip müsste man doch nur schauen wer angemeldet ist und diese Daten aus der Datenbank abrufen und dann z.B. in einer Art Formular ausgeben, oder?
Werner:
Zitat: „ Ist so etwas viel Arbeit?”
Nein.
Julia:
Klasse Script! Zu deiner letzten Aussage: Planst Du einen Release der genannten Funktionen von Peter? Coole Seite!
Dennis:
Vielleicht sollte man in der verwaltung.php noch folgendes einfügen:
session_start();
if ($_SESSION["Admin"] == false) {
header("Location: hauptseite.php");
exit;}
Damit auf diese Seite nur der Admin Zugriff hat und nicht evtl. auch andere Mitglieder die ggf. an den Link gekommen sind.
Peter:
Gibt es auch irgendwie eine Möglichkeit die Benutzerverwaltung so zu gestalten, dass es ein Auswahlfeld gibt in dem die Namen stehen und sobald man einen der Namen auswählt, erscheinen die gespeicherten Daten dieses Mitglieds in einer Tabelle? Also keine Tabelle in der direkt alles eingelesen wird, sondern eine kleinere Tabelle in die die Werte via Dropdown Auswahlfeld je nach ausgewähltem Benutzer eingetragen werden?!
Werner:
Und wenn in der Datenbank 5000 Namen vorhanden sind, sollen die dann alle in der Auswahlliste angezeigt werden? Besser ist hier eine Filter/Suchfunktion, dort wird der Name in ein Eingabefeld eingetragen, nach dem absenden werden nur die gespeicherten Daten dieses Mitglieds angezeigt.
Ich werde in den nächsten Tagen so etwas einbauen...
Peter:
Hallo Werner,
naja, es kommt ja immer auf die Größenordnung des Einsatzes an. Wenn man wirklich sooo viele Namen in der Datenbank hat, dann gebe ich dir recht ist es eher unsinnvoll ein solches Auswahldropdown zu haben. Wenn die Anzahl der Mitglieder jedoch überschaubar ist, wäre diese Variante denke ich sinnvoller. Vielleicht kann man ja beides irgendwie einbauen, sodass sich der Nutzer dann entscheiden kann, was er gerne möchte und braucht. Müsste von der Funktion her ja ähnlich ablaufen.
Die passwort_aender.php würde ich noch dahingehend anpassen, dass jeder Nutzer sobald er die Seite aufruft seine kompletten eigenen Daten sieht und diese dann alle ändern kann, also nicht nur sein Passwort. Das würde die Arbeit von Admins erleichtern, die diese Änderungen ja sonst händisch in der Datenbank vornehmen müssten, oder?
Werner:
Ich habe die Spalte "onlinestatus" wieder entfernt. Wenn sich ein Benutzer nicht abmeldet hat, war der Status immer auf "Online" gesetzt! Des weiteren habe ich die Filterfunktion bereits eingebaut.