email hinzugefügt
This commit is contained in:
@@ -24,7 +24,7 @@ if (isset($_COOKIE['auth_token']) && isset($_COOKIE['user_id'])) {
|
|||||||
$cookie_user_id = $_COOKIE['user_id'];
|
$cookie_user_id = $_COOKIE['user_id'];
|
||||||
|
|
||||||
// Datenbank-Abfrage, um den Token und die vollständigen Benutzerdaten zu erhalten
|
// Datenbank-Abfrage, um den Token und die vollständigen Benutzerdaten zu erhalten
|
||||||
$stmt = mysqli_prepare($conn, "SELECT id, login_token, username, role FROM users WHERE id = ?");
|
$stmt = mysqli_prepare($conn, "SELECT id, login_token, username, email, role FROM users WHERE id = ?");
|
||||||
|
|
||||||
if ($stmt) {
|
if ($stmt) {
|
||||||
mysqli_stmt_bind_param($stmt, "i", $cookie_user_id);
|
mysqli_stmt_bind_param($stmt, "i", $cookie_user_id);
|
||||||
@@ -39,6 +39,7 @@ if (isset($_COOKIE['auth_token']) && isset($_COOKIE['user_id'])) {
|
|||||||
// Jetzt die Benutzerdaten in die Session laden
|
// Jetzt die Benutzerdaten in die Session laden
|
||||||
$_SESSION['user_id'] = $user['id'];
|
$_SESSION['user_id'] = $user['id'];
|
||||||
$_SESSION['username'] = $user['username'];
|
$_SESSION['username'] = $user['username'];
|
||||||
|
$_SESSION['email'] = $user['email'];
|
||||||
$_SESSION['role'] = $user['role'];
|
$_SESSION['role'] = $user['role'];
|
||||||
|
|
||||||
return; // Authentifizierung per Cookie erfolgreich, Skript fortsetzen
|
return; // Authentifizierung per Cookie erfolgreich, Skript fortsetzen
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
include('inc/check_login.php');
|
include('inc/check_login.php');
|
||||||
include('inc/db.php');
|
include('inc/db.php');
|
||||||
include('inc/head.php');
|
|
||||||
|
|
||||||
// Aktuelle Kalenderwoche berechnen
|
// Aktuelle Kalenderwoche berechnen
|
||||||
$current_week = date('W');
|
$current_week = date('W');
|
||||||
@@ -18,6 +17,9 @@ if (!$result) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$row = mysqli_fetch_assoc($result);
|
$row = mysqli_fetch_assoc($result);
|
||||||
|
|
||||||
|
include('inc/header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="container py-5">
|
<div class="container py-5">
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
|||||||
$password = $_POST['password'];
|
$password = $_POST['password'];
|
||||||
|
|
||||||
// 1. Prepared Statement vorbereiten
|
// 1. Prepared Statement vorbereiten
|
||||||
$stmt = mysqli_prepare($conn, "SELECT id, username, password, role FROM users WHERE username = ?");
|
$stmt = mysqli_prepare($conn, "SELECT id, username, password, email, role FROM users WHERE username = ?");
|
||||||
if ($stmt) {
|
if ($stmt) {
|
||||||
mysqli_stmt_bind_param($stmt, "s", $username);
|
mysqli_stmt_bind_param($stmt, "s", $username);
|
||||||
mysqli_stmt_execute($stmt);
|
mysqli_stmt_execute($stmt);
|
||||||
@@ -20,6 +20,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
|||||||
// Authentifizierung erfolgreich, Session-Variablen setzen
|
// Authentifizierung erfolgreich, Session-Variablen setzen
|
||||||
$_SESSION['user_id'] = $user['id'];
|
$_SESSION['user_id'] = $user['id'];
|
||||||
$_SESSION['username'] = $username;
|
$_SESSION['username'] = $username;
|
||||||
|
$_SESSION['email'] = $user['email'];
|
||||||
$_SESSION['role'] = $user['role'];
|
$_SESSION['role'] = $user['role'];
|
||||||
|
|
||||||
// Token generieren und in der Datenbank speichern
|
// Token generieren und in der Datenbank speichern
|
||||||
|
|||||||
87
profil.php
Executable file
87
profil.php
Executable file
@@ -0,0 +1,87 @@
|
|||||||
|
<?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'; ?>
|
||||||
Reference in New Issue
Block a user