user change info + add hovers für buttons
This commit is contained in:
parent
2c044b2498
commit
3964f90a30
@ -56,3 +56,29 @@
|
||||
.btn-logout{
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
.btn-userchange{
|
||||
background-color: var(--brand-white);
|
||||
color: var(--brand-background);
|
||||
}
|
||||
|
||||
/* Hovers */
|
||||
.btn-primary:hover {
|
||||
background-color: var(--brand-primary-hover);
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
background-color: var(--bg-muted-hover);
|
||||
}
|
||||
|
||||
.btn-accent:hover {
|
||||
background-color: var(--fullblock-hover);
|
||||
}
|
||||
|
||||
.btn-danger:hover {
|
||||
background-color: var(--error-hover);
|
||||
}
|
||||
|
||||
.btn-userchange:hover, .btn-logout:hover{
|
||||
opacity: 0.95;
|
||||
}
|
||||
|
32
CSS/Element/sidebar.css
Normal file
32
CSS/Element/sidebar.css
Normal file
@ -0,0 +1,32 @@
|
||||
.sidebar {
|
||||
width: 200px;
|
||||
background-color: transparent;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.sidebar nav ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.sidebar nav ul li {
|
||||
margin-bottom: 0.5rem;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.sidebar nav ul li a {
|
||||
text-decoration: none;
|
||||
color: #333;
|
||||
display: block;
|
||||
padding: 0.5rem;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.sidebar nav ul li a:hover {
|
||||
background-color: #e2e6ea;
|
||||
}
|
||||
|
||||
.sidebar button{
|
||||
width: 100%;
|
||||
padding: 10px 10px;
|
||||
}
|
@ -6,6 +6,7 @@
|
||||
@import url(Element/form.css);
|
||||
@import url(Element/button.css);
|
||||
@import url(Element/card.css);
|
||||
@import url(Element/sidebar.css);
|
||||
|
||||
*,
|
||||
*:before,
|
||||
@ -37,6 +38,10 @@ h2 {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
*, button, a {
|
||||
transition: background-color 0.2s, color 0.2s;
|
||||
}
|
||||
|
||||
main {
|
||||
margin-top: 190px;
|
||||
}
|
||||
|
@ -8,7 +8,6 @@
|
||||
--input-placeholder: #998E82;
|
||||
--error: #FF0000;
|
||||
|
||||
|
||||
/*Fonts*/
|
||||
--font-family-main: "Inter", sans-serif;
|
||||
--font-family-headline: "Source Serif 4", serif;
|
||||
@ -24,4 +23,11 @@
|
||||
|
||||
--h-md: 48px;
|
||||
--border-primary: 1px solid #998E82;
|
||||
|
||||
/* Hover Variants */
|
||||
--brand-primary-hover: #FF9E33;
|
||||
--brand-background-hover: #2A231F;
|
||||
--bg-muted-hover: #6A6A6A;
|
||||
--fullblock-hover: #00008B;
|
||||
--error-hover: #CC0000;
|
||||
}
|
@ -280,18 +280,18 @@ class UserController{
|
||||
}
|
||||
|
||||
$submitted = [
|
||||
'vorname' => trim($_POST['vorname'] ?? ''),
|
||||
'name' => trim($_POST['name'] ?? ''),
|
||||
'lastname' => trim($_POST['lastname'] ?? ''),
|
||||
'email' => trim($_POST['email'] ?? ''),
|
||||
'password' => trim($_POST['password'] ?? ''),
|
||||
];
|
||||
|
||||
$this->errors = [];
|
||||
if (strlen($submitted['name']) < 2) {
|
||||
$this->errors['name'] = 'Vorname muss mindestens 2 Zeichen haben.';
|
||||
if (strlen($submitted['vorname']) < 2) {
|
||||
$this->errors['vorname'] = 'Vorname muss mindestens 2 Zeichen haben.';
|
||||
}
|
||||
if (strlen($submitted['lastname']) < 2) {
|
||||
$this->errors['lastname'] = 'Nachname muss mindestens 2 Zeichen haben.';
|
||||
if (strlen($submitted['name']) < 2) {
|
||||
$this->errors['name'] = 'Nachname muss mindestens 2 Zeichen haben.';
|
||||
}
|
||||
if (!filter_var($submitted['email'], FILTER_VALIDATE_EMAIL)) {
|
||||
$this->errors['email'] = 'Ungültige E-Mail-Adresse.';
|
||||
@ -303,24 +303,31 @@ class UserController{
|
||||
|
||||
if (count($this->errors) > 0) {
|
||||
$this->view->setVars([
|
||||
'labels' => $this->changeUserLabels,
|
||||
'validData' => $submitted,
|
||||
'errors' => $this->errors,
|
||||
'changeUserLabels' => $this->changeUserLabels,
|
||||
'validData' => $submitted,
|
||||
'errors' => $this->errors,
|
||||
]);
|
||||
return;
|
||||
$this->view->render('User/showUserChangeAccountSettings');
|
||||
return;
|
||||
}
|
||||
|
||||
$updateData = [];
|
||||
if ($submitted['name'] !== $currentUser['firstname']) {
|
||||
$updateData['firstname'] = $submitted['name']; // PHP name = DB firstname
|
||||
if ($submitted['vorname'] !== $currentUser['vorname']) {
|
||||
$updateData['vorname'] = $submitted['vorname'];
|
||||
}
|
||||
if ($submitted['lastname'] !== $currentUser['name']) {
|
||||
$updateData['name'] = $submitted['lastname']; // PHP lastname = DB name
|
||||
if ($submitted['name'] !== $currentUser['name']) {
|
||||
$updateData['name'] = $submitted['name'];
|
||||
}
|
||||
if ($submitted['email'] !== $currentUser['email']) {
|
||||
$updateData['email'] = $submitted['email'];
|
||||
}
|
||||
if ($submitted['password'] !== '') {
|
||||
// Passwort und Salt auf neu setzen
|
||||
$salt = bin2hex(random_bytes(16));
|
||||
$hash = hash('sha256', $submitted['password'] . $salt);
|
||||
$updateData['passwort'] = $hash;
|
||||
$updateData['salt'] = $salt;
|
||||
}
|
||||
|
||||
|
||||
if ($submitted['password'] !== '') {
|
||||
@ -344,15 +351,21 @@ class UserController{
|
||||
$_SESSION['email'] = $updateData['email'] ?? $_SESSION['email'];
|
||||
$this->message = 'Änderungen erfolgreich gespeichert.';
|
||||
|
||||
echo "ok";
|
||||
|
||||
header("Location: index.php?controller=user&do=showUserAccountPage");
|
||||
exit();
|
||||
} else {
|
||||
$this->errors['general'] = 'Beim Speichern ist ein Fehler aufgetreten.';
|
||||
$this->view->setVars([
|
||||
'changeUserLabels' => $this->changeUserLabels,
|
||||
'validData' => $submitted,
|
||||
'errors' => $this->errors,
|
||||
]);
|
||||
$this->view->setDoMethodName('showUserChangeAccountSettings');
|
||||
return;
|
||||
}
|
||||
|
||||
$this->view->render('User/showUserAccountPage');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
@ -6,28 +6,42 @@
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h1>Hallo,
|
||||
<?php echo ($_SESSION['vorname'] ?? "") . " " . ($_SESSION['name'] ?? "") ?>
|
||||
</br>
|
||||
Hier können Sie ihren Account verwalten.
|
||||
</h1>
|
||||
<div class="row">
|
||||
<form method="post">
|
||||
<input type="hidden" name="controller" value="user">
|
||||
<input type="hidden" name="do" value="logout">
|
||||
<button type="submit" class="btn btn-logout">Ausloggen</button>
|
||||
</form>
|
||||
<form method="post">
|
||||
<input type="hidden" name="controller" value="user">
|
||||
<input type="hidden" name="do" value="deleteAccount">
|
||||
<button type="submit" class="btn btn-logout">Meinen Account löschen</button>
|
||||
</form>
|
||||
<form method="post">
|
||||
<input type="hidden" name="controller" value="user">
|
||||
<input type="hidden" name="do" value="changeAccountDataRedirect">
|
||||
<button type="submit" class="btn btn-logout">Meine Kontodaten ändern</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-8">
|
||||
<h1>Hallo,
|
||||
<?php echo ($_SESSION['vorname'] ?? "") . " " . ($_SESSION['name'] ?? "") ?>
|
||||
</br>
|
||||
Hier können Sie ihren Account verwalten.
|
||||
</h1>
|
||||
</div>
|
||||
<div class="col-4 sidebar">
|
||||
<nav>
|
||||
<ul>
|
||||
<li>
|
||||
<form method="post">
|
||||
<input type="hidden" name="controller" value="user">
|
||||
<input type="hidden" name="do" value="logout">
|
||||
<button type="submit" class="btn btn-primary">Ausloggen</button>
|
||||
</form>
|
||||
</li>
|
||||
<li>
|
||||
<form method="post">
|
||||
<input type="hidden" name="controller" value="user">
|
||||
<input type="hidden" name="do" value="changeAccountDataRedirect">
|
||||
<button type="submit" class="btn btn-userchange">Meine Kontodaten ändern</button>
|
||||
</form>
|
||||
</li>
|
||||
<li>
|
||||
<form method="post">
|
||||
<input type="hidden" name="controller" value="user">
|
||||
<input type="hidden" name="do" value="deleteAccount">
|
||||
<button type="submit" class="btn btn-logout">Meinen Account löschen</button>
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
|
Loading…
x
Reference in New Issue
Block a user