Installation des Registrierungsskriptes V2.0
1. MySQL-Tabellen
Das Script benötigt eine Tabelle mit dem Namen [users].
1.1 Tabelle [users]
- user_id [INT] [AUTOINCREMENT]
- username [VARCHAR]
- user_password [CHAR]
- user_email [VARCHAR]
- user_level [VARCHAR]
- user_date [DATETIME]
Alternativ kann auch der unten aufgeführte SQL-Code über phpMyAdmin eingefügt werden.
CREATE TABLE `users` (
`user_id` int(10) NOT NULL AUTO_INCREMENT,
`username` varchar(30) NOT NULL,
`user_password` char(255) NOT NULL,
`user_email` varchar(50) NOT NULL,
`user_level` varchar(50) NOT NULL DEFAULT 'user',
`user_date` datetime NOT NULL,
PRIMARY KEY (`user_id`),
UNIQUE KEY `username_unique` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
2. Verbindungsaufbau zur Datenbank
Der Verbindungsaufbau zur Datenbank erfolgt über [includes/db.php] [Z4-7], wo Name des Servers, Name der Datenbank, Nutzername und Passwort eingetragen werden müssen.
3. Administrationszugang und Registrierung
Ein Administrationszugang wird angelegt, indem man sich über [signup.php] registriert und dann über phpMyAdmin das [user_level] von [user] auf [administrator] ändert. Registrierte Nutzern haben automatisch das [user_level] [user].
4. Integration in bestehende Anwendungen
Das Skript lässt sich leicht in bestehende Anwendungen integrieren. Dazu muss in jeder neuen Datei, welche nur von Nutzern, Moderatoren oder Administratoren aufgerufen werden soll, die entsprechende Session abgefragt werden.
<?php
require_once 'includes/db.php';
require_once 'includes/functions.php';
require_once 'includes/header.php';
if (isset($_SESSION['logged_in']['user_level'])) {
?>
<div class="mein_inhalt">
<p>Der Inhalt in den Klammern kann nur von einem angemeldeten Nutzer aufgerufen werden.</p>
</div>
<?php
}
require_once 'includes/footer.php';
?>
<?php
require_once 'includes/db.php';
require_once 'includes/functions.php';
require_once 'includes/header.php';
if (isset($_SESSION['logged_in']['user_level'])
and $_SESSION['logged_in']['user_level'] == 'administrator') {
?>
<div class="mein_inhalt">
<p>Der Inhalt in den Klammern kann nur von einem Administrator aufgerufen werden.</p>
</div>
<?php
}
require_once 'includes/footer.php';
?>
if (isset($_SESSION['logged_in']['user_level'])) {
//Der Inhalt in den Klammern kann nur von einem angemeldeten Nutzer aufgerufen werden.
}
if (isset($_SESSION['logged_in']['user_level'])
and $_SESSION['logged_in']['user_level'] == 'administrator') {
//Der Inhalt in den Klammern kann nur von einem Administrator aufgerufen werden.
}
if (isset($_SESSION['logged_in']['user_level'])
and $_SESSION['logged_in']['user_level'] == 'administrator'
or $_SESSION['logged_in']['user_level'] == 'moderator') {
//Der Inhalt in den Klammern kann nur von einem Administrator oder Moderator aufgerufen werden.
}
5. Changelog
Update zur Version 2.0
07.10.2024
- Änderung des Passwort-Hashings von SHA1 auf password_hash mit PASSWORD_BCRYPT.
- Integration eines Backends, in welchem, Berechtigungen geändert oder bestehende Nutzer entfernt werden können.
- Anpassung von Design, HTML und CSS.
- Anpassung der Ausgabe von Fehlermeldungen.