From f404ca305ecef0a2e77fea10cc7484e16fee3a69 Mon Sep 17 00:00:00 2001 From: Fabian Schieder Date: Mon, 30 Mar 2026 22:25:52 +0200 Subject: [PATCH] Add role assignment for new users during registration and update admin panel role selection to use a dropdown --- admin_users.php | 10 +++++----- register.php | 26 ++++++++++++++++++++++++-- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/admin_users.php b/admin_users.php index 929e5a5..72142c7 100644 --- a/admin_users.php +++ b/admin_users.php @@ -124,14 +124,14 @@ $usersResult = $conn->query("
-
+ > + -
+ +

Strg/Cmd für Mehrfachauswahl

diff --git a/register.php b/register.php index 7a02b86..ce8c16d 100644 --- a/register.php +++ b/register.php @@ -124,15 +124,37 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { mysqli_stmt_bind_param($stmt, 'ssss', $email, $hash, $displayName, $profilePicture); $ok = mysqli_stmt_execute($stmt); - mysqli_stmt_close($stmt); - + if ($ok) { + $newUserId = mysqli_insert_id($conn); + + // Get USER roleID + $roleStmt = mysqli_prepare($conn, "SELECT roleID FROM roles WHERE name = 'USER' LIMIT 1"); + if ($roleStmt) { + mysqli_stmt_execute($roleStmt); + $roleResult = mysqli_stmt_get_result($roleStmt); + if ($roleRow = mysqli_fetch_assoc($roleResult)) { + $userRoleId = $roleRow['roleID']; + + $insertRoleStmt = mysqli_prepare($conn, "INSERT INTO userRoles (userID, roleID) VALUES (?, ?)"); + if ($insertRoleStmt) { + mysqli_stmt_bind_param($insertRoleStmt, 'ii', $newUserId, $userRoleId); + mysqli_stmt_execute($insertRoleStmt); + mysqli_stmt_close($insertRoleStmt); + } + } + mysqli_stmt_close($roleStmt); + } + + mysqli_stmt_close($stmt); + mysqli_close($conn); header('Location: login.php?registered=1'); exit; } + mysqli_stmt_close($stmt); $errors[] = 'Registrierung fehlgeschlagen.'; } }