Webshop/public/login/login.html
2025-04-29 12:51:45 +02:00

92 lines
2.9 KiB
HTML

<!--
Login-Seite für den Webshop.
Die Benutzer können sich mit ihrem Benutzernamen und Passwort anmelden oder sich registreren.
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<!-- Login-CSS-Datei -->
<link rel="stylesheet" href="./Styles/login/login.css">
<!-- Haupt-CSS-Datei -->
<link rel="stylesheet" href="./Styles/styles-main.css">
<!-- Icons -->
<link href="https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css" rel="stylesheet">
<!-- Script zum Laden von Header/Footer -->
<script src="/header_footer"></script>
<title>Login</title>
</head>
<body>
<!-- Header -->
<div id="header"></div>
<main class="main-content">
<div class="login-container">
<h2 class="title">Login</h2>
<!-- Login-Formular -->
<form class="login-form">
<!-- Eingabefeld für Benutzername -->
<div class="input-group">
<input id="email" type="text" placeholder="E-Mail" required/>
<i class="icon fas fa-user"></i>
</div>
<!-- Eingabefeld für Passwort -->
<div class="input-group">
<input id="password" type="password" placeholder="Passwort" required/>
<i class="icon fas fa-lock"></i>
</div>
<!-- Login-Button -->
<button type="submit" class="login-btn">Login</button>
<!-- Link zur Registrierungsseite -->
<p class="register-text">
Noch keinen Account? <a href="/registrieren">Registrieren</a>
</p>
</form>
</div>
</main>
<script>
document.getElementById('submit').addEventListener('click', async (event) => {
event.preventDefault()
const email = document.getElementById('email').value
const password = document.getElementById('password').value
try {
const response = await fetch('/api/user/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({email, password})
})
if (response.ok) {
const data = await response.json();
sessionStorage.setItem("user_id", data.id)
alert('Login erfolgreich!');
window.location.href = '/'; // Redirect to home page after login
} else {
const errorData = await response.json()
alert('Login fehlgeschlagen: ' + (errorData.message || 'Unbekannter Fehler'))
}
} catch (error) {
console.error('Fehler beim Login: ', error)
alert('Fehler beim Senden des Logins.')
}
})
</script>
<!-- Fußzeile -->
<div id="footer"></div>
</body>
</html>