87 lines
3.4 KiB
PHP
Executable File
87 lines
3.4 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'] ?? '';
|
|
|
|
require_once 'inc/header.php'; ?>
|
|
|
|
<div class="container mt-5">
|
|
<div class="row justify-content-center">
|
|
<div class="col-md-8 col-lg-6">
|
|
<div class="card shadow">
|
|
<div class="card-body">
|
|
<h2 class="card-title text-center mb-4">Profil bearbeiten</h2>
|
|
|
|
<?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">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">E-Mail-Adresse</label>
|
|
<input type="email" class="form-control" id="email" name="email" value="<?php echo htmlspecialchars($current_email); ?>" required>
|
|
</div>
|
|
<button type="submit" class="btn btn-primary">Änderungen speichern</button>
|
|
<a href="index.php" class="btn btn-secondary">Abbrechen</a>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<?php require_once 'inc/footer.php'; ?>
|