- added the function to login with email and password
- removed an unnecessary empty file
This commit is contained in:
parent
4ca52e361a
commit
353087e458
@ -18,14 +18,14 @@
|
|||||||
<h2 class="login-title">Login</h2>
|
<h2 class="login-title">Login</h2>
|
||||||
<form class="login-form">
|
<form class="login-form">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="text" placeholder="Username" required />
|
<input id="email" type="text" placeholder="E-Mail" required/>
|
||||||
<i class="icon fas fa-user"></i>
|
<i class="icon fas fa-user"></i>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="password" placeholder="Passwort" required />
|
<input id="password" type="password" placeholder="Passwort" required/>
|
||||||
<i class="icon fas fa-lock"></i>
|
<i class="icon fas fa-lock"></i>
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" class="login-btn">Login</button>
|
<button id="submit" type="submit" class="login-btn">Login</button>
|
||||||
<p class="register-text">
|
<p class="register-text">
|
||||||
Noch keinen Account? <a href="/registrieren">Registrieren</a>
|
Noch keinen Account? <a href="/registrieren">Registrieren</a>
|
||||||
</p>
|
</p>
|
||||||
@ -33,7 +33,36 @@
|
|||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<!-- Fußzeiele -->
|
<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();
|
||||||
|
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>
|
<div id="footer"></div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@ -39,7 +39,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="input-box">
|
<div class="input-box">
|
||||||
<input type="password" id="confirmPassword" name="confirmPassword" placeholder="Passwort bestätigen" required>
|
<input type="password" id="confirmPassword" name="confirmPassword" placeholder="Passwort bestätigen"
|
||||||
|
required>
|
||||||
<i class='bx bxs-lock-alt'></i>
|
<i class='bx bxs-lock-alt'></i>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
25
server.js
25
server.js
@ -143,6 +143,31 @@ app.post('/api/user/registration', (req,res)=> {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
app.post('/api/user/login', (req, res) => {
|
||||||
|
const {email, password} = req.body
|
||||||
|
const sql = 'SELECT * FROM user WHERE email = ?'
|
||||||
|
|
||||||
|
db.query(sql, [email], (err, results) => {
|
||||||
|
if (err) {
|
||||||
|
console.error('Fehler beim Abrufen des Nutzers: ', err)
|
||||||
|
return res.status(500).json({message: 'Serverfehler'})
|
||||||
|
}
|
||||||
|
if (results.length === 0) {
|
||||||
|
return res.status(401).json({message: 'E-Mail nicht gefunden'})
|
||||||
|
}
|
||||||
|
const user = results[0]
|
||||||
|
|
||||||
|
if (user.passwd !== password) {
|
||||||
|
return res.status(401).json({message: 'Falsches Passwort'})
|
||||||
|
}
|
||||||
|
|
||||||
|
req.session.userId = user.id;
|
||||||
|
req.session.email = user.email;
|
||||||
|
|
||||||
|
res.json({message: 'Login erfolgreich', id: user.id})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
const getIndexRoute = require('./scripts/routes/other/route-index');
|
const getIndexRoute = require('./scripts/routes/other/route-index');
|
||||||
app.use('/', getIndexRoute);
|
app.use('/', getIndexRoute);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user