user change info + add hovers für buttons
This commit is contained in:
parent
2c044b2498
commit
3964f90a30
@ -56,3 +56,29 @@
|
|||||||
.btn-logout{
|
.btn-logout{
|
||||||
background-color: red;
|
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/form.css);
|
||||||
@import url(Element/button.css);
|
@import url(Element/button.css);
|
||||||
@import url(Element/card.css);
|
@import url(Element/card.css);
|
||||||
|
@import url(Element/sidebar.css);
|
||||||
|
|
||||||
*,
|
*,
|
||||||
*:before,
|
*:before,
|
||||||
@ -37,6 +38,10 @@ h2 {
|
|||||||
color: orange;
|
color: orange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*, button, a {
|
||||||
|
transition: background-color 0.2s, color 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
margin-top: 190px;
|
margin-top: 190px;
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
--input-placeholder: #998E82;
|
--input-placeholder: #998E82;
|
||||||
--error: #FF0000;
|
--error: #FF0000;
|
||||||
|
|
||||||
|
|
||||||
/*Fonts*/
|
/*Fonts*/
|
||||||
--font-family-main: "Inter", sans-serif;
|
--font-family-main: "Inter", sans-serif;
|
||||||
--font-family-headline: "Source Serif 4", serif;
|
--font-family-headline: "Source Serif 4", serif;
|
||||||
@ -24,4 +23,11 @@
|
|||||||
|
|
||||||
--h-md: 48px;
|
--h-md: 48px;
|
||||||
--border-primary: 1px solid #998E82;
|
--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 = [
|
$submitted = [
|
||||||
|
'vorname' => trim($_POST['vorname'] ?? ''),
|
||||||
'name' => trim($_POST['name'] ?? ''),
|
'name' => trim($_POST['name'] ?? ''),
|
||||||
'lastname' => trim($_POST['lastname'] ?? ''),
|
|
||||||
'email' => trim($_POST['email'] ?? ''),
|
'email' => trim($_POST['email'] ?? ''),
|
||||||
'password' => trim($_POST['password'] ?? ''),
|
'password' => trim($_POST['password'] ?? ''),
|
||||||
];
|
];
|
||||||
|
|
||||||
$this->errors = [];
|
$this->errors = [];
|
||||||
if (strlen($submitted['name']) < 2) {
|
if (strlen($submitted['vorname']) < 2) {
|
||||||
$this->errors['name'] = 'Vorname muss mindestens 2 Zeichen haben.';
|
$this->errors['vorname'] = 'Vorname muss mindestens 2 Zeichen haben.';
|
||||||
}
|
}
|
||||||
if (strlen($submitted['lastname']) < 2) {
|
if (strlen($submitted['name']) < 2) {
|
||||||
$this->errors['lastname'] = 'Nachname muss mindestens 2 Zeichen haben.';
|
$this->errors['name'] = 'Nachname muss mindestens 2 Zeichen haben.';
|
||||||
}
|
}
|
||||||
if (!filter_var($submitted['email'], FILTER_VALIDATE_EMAIL)) {
|
if (!filter_var($submitted['email'], FILTER_VALIDATE_EMAIL)) {
|
||||||
$this->errors['email'] = 'Ungültige E-Mail-Adresse.';
|
$this->errors['email'] = 'Ungültige E-Mail-Adresse.';
|
||||||
@ -303,24 +303,31 @@ class UserController{
|
|||||||
|
|
||||||
if (count($this->errors) > 0) {
|
if (count($this->errors) > 0) {
|
||||||
$this->view->setVars([
|
$this->view->setVars([
|
||||||
'labels' => $this->changeUserLabels,
|
'changeUserLabels' => $this->changeUserLabels,
|
||||||
'validData' => $submitted,
|
'validData' => $submitted,
|
||||||
'errors' => $this->errors,
|
'errors' => $this->errors,
|
||||||
]);
|
]);
|
||||||
return;
|
|
||||||
$this->view->render('User/showUserChangeAccountSettings');
|
$this->view->render('User/showUserChangeAccountSettings');
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$updateData = [];
|
$updateData = [];
|
||||||
if ($submitted['name'] !== $currentUser['firstname']) {
|
if ($submitted['vorname'] !== $currentUser['vorname']) {
|
||||||
$updateData['firstname'] = $submitted['name']; // PHP name = DB firstname
|
$updateData['vorname'] = $submitted['vorname'];
|
||||||
}
|
}
|
||||||
if ($submitted['lastname'] !== $currentUser['name']) {
|
if ($submitted['name'] !== $currentUser['name']) {
|
||||||
$updateData['name'] = $submitted['lastname']; // PHP lastname = DB name
|
$updateData['name'] = $submitted['name'];
|
||||||
}
|
}
|
||||||
if ($submitted['email'] !== $currentUser['email']) {
|
if ($submitted['email'] !== $currentUser['email']) {
|
||||||
$updateData['email'] = $submitted['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'] !== '') {
|
if ($submitted['password'] !== '') {
|
||||||
@ -344,15 +351,21 @@ class UserController{
|
|||||||
$_SESSION['email'] = $updateData['email'] ?? $_SESSION['email'];
|
$_SESSION['email'] = $updateData['email'] ?? $_SESSION['email'];
|
||||||
$this->message = 'Änderungen erfolgreich gespeichert.';
|
$this->message = 'Änderungen erfolgreich gespeichert.';
|
||||||
|
|
||||||
|
echo "ok";
|
||||||
|
|
||||||
header("Location: index.php?controller=user&do=showUserAccountPage");
|
header("Location: index.php?controller=user&do=showUserAccountPage");
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
$this->errors['general'] = 'Beim Speichern ist ein Fehler aufgetreten.';
|
$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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->view->render('User/showUserAccountPage');
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,28 +6,42 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<h1>Hallo,
|
<div class="row">
|
||||||
<?php echo ($_SESSION['vorname'] ?? "") . " " . ($_SESSION['name'] ?? "") ?>
|
<div class="col-8">
|
||||||
</br>
|
<h1>Hallo,
|
||||||
Hier können Sie ihren Account verwalten.
|
<?php echo ($_SESSION['vorname'] ?? "") . " " . ($_SESSION['name'] ?? "") ?>
|
||||||
</h1>
|
</br>
|
||||||
<div class="row">
|
Hier können Sie ihren Account verwalten.
|
||||||
<form method="post">
|
</h1>
|
||||||
<input type="hidden" name="controller" value="user">
|
</div>
|
||||||
<input type="hidden" name="do" value="logout">
|
<div class="col-4 sidebar">
|
||||||
<button type="submit" class="btn btn-logout">Ausloggen</button>
|
<nav>
|
||||||
</form>
|
<ul>
|
||||||
<form method="post">
|
<li>
|
||||||
<input type="hidden" name="controller" value="user">
|
<form method="post">
|
||||||
<input type="hidden" name="do" value="deleteAccount">
|
<input type="hidden" name="controller" value="user">
|
||||||
<button type="submit" class="btn btn-logout">Meinen Account löschen</button>
|
<input type="hidden" name="do" value="logout">
|
||||||
</form>
|
<button type="submit" class="btn btn-primary">Ausloggen</button>
|
||||||
<form method="post">
|
</form>
|
||||||
<input type="hidden" name="controller" value="user">
|
</li>
|
||||||
<input type="hidden" name="do" value="changeAccountDataRedirect">
|
<li>
|
||||||
<button type="submit" class="btn btn-logout">Meine Kontodaten ändern</button>
|
<form method="post">
|
||||||
</form>
|
<input type="hidden" name="controller" value="user">
|
||||||
</div>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
|
Loading…
x
Reference in New Issue
Block a user