Files
domili/profil.php
2025-08-13 17:49:58 +02:00

95 lines
3.9 KiB
PHP
Executable File

<?php
require_once 'inc/check_login.php';
require_once 'inc/db.php';
// Variable zur Statusmeldung
$message = '';
$message_type = '';
// Überprüfen, ob das Formular per POST gesendet wurde
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Eingaben aus dem Formular holen
$new_username = $_POST['username'];
$new_email = $_POST['email'];
$user_id = $_SESSION['user_id'];
// Validierung der Eingaben
if (empty($new_username) || empty($new_email)) {
$message = "Benutzername und E-Mail-Adresse dürfen nicht leer sein.";
$message_type = 'danger';
} else {
// Datenbank-Abfrage vorbereiten
$stmt = mysqli_prepare($conn, "UPDATE users SET username = ?, email = ? WHERE id = ?");
if ($stmt) {
// Parameter binden
mysqli_stmt_bind_param($stmt, "ssi", $new_username, $new_email, $user_id);
// Statement ausführen
if (mysqli_stmt_execute($stmt)) {
// Session-Variablen aktualisieren
$_SESSION['username'] = $new_username;
$_SESSION['email'] = $new_email;
$message = "Profil erfolgreich aktualisiert!";
$message_type = 'success';
} else {
$message = "Fehler beim Speichern der Daten.";
$message_type = 'danger';
}
// Statement schließen
mysqli_stmt_close($stmt);
} else {
$message = "Datenbankfehler: Statement konnte nicht vorbereitet werden.";
$message_type = 'danger';
}
}
}
// Daten für die Anzeige aus der Session holen
$current_username = $_SESSION['username'];
$current_email = $_SESSION['email'];
$current_role = $_SESSION['role'];
require_once 'inc/header.php'; ?>
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-md-8 col-lg-6">
<h2 class="mb-4">Benutzerverwaltung</h2>
<div class="card shadow">
<div class="card-header bg-primary-subtle text-secondary">
<h4 class="mb-0">Profil bearbeiten</h4>
</div>
<div class="card-body">
<?php if ($message) : ?>
<div id="status-message" class="alert alert-<?php echo $message_type; ?> alert-dismissible fade show" role="alert">
<?php echo htmlspecialchars($message); ?>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
<?php endif; ?>
<form action="" method="post">
<div class="mb-3">
<label for="username" class="form-label fw-bold">Benutzername</label>
<input type="text" class="form-control" id="username" name="username" value="<?php echo htmlspecialchars($current_username); ?>" required>
</div>
<div class="mb-3">
<label for="email" class="form-label fw-bold">E-Mail-Adresse</label>
<input type="email" class="form-control" id="email" name="email" value="<?php echo htmlspecialchars($current_email); ?>" required>
</div>
<div class="mb-3">
<label for="role" class="form-label fw-bold">Rolle</label>
<input type="text" class="form-control" id="role" name="role" value="<?php echo htmlspecialchars($current_role); ?>" disabled readonly>
</div>
<button type="submit" class="btn btn-sm btn-outline-primary">Speichern</button>
<a href="index.php" class="btn btn-sm btn-outline-secondary">Abbrechen</a>
</form>
</div>
</div>
</div>
</div>
</div>
<?php require_once 'inc/footer.php'; ?>