fixed login

login now throws errors when wrong credentials are used and properly
redirects to dashboard
This commit is contained in:
sraffauf
2026-01-22 20:50:53 +01:00
parent a2d78fa4a9
commit 65403282f7
2 changed files with 32 additions and 8 deletions

View File

@@ -9,13 +9,37 @@ document.getElementById("loginForm").addEventListener("submit", async function (
const response = await fetch("../php/login.php", {
method: "POST",
body: formData
body: formData,
redirect: "follow"
});
const result = await response.json();
if (result.success) {
window.location.href = "../php/admin.php";
// If the server redirected (PHP currently redirects on success/failure), handle accordingly
if (response.redirected) {
// if redirected back to login with error flag, show message instead of navigating
if (response.url && response.url.includes("error=1")) {
document.getElementById("errorMsg").innerText = "Login fehlgeschlagen!";
return;
}
window.location.href = response.url;
return;
}
const contentType = response.headers.get("content-type") || "";
if (contentType.includes("application/json")) {
const result = await response.json();
if (result.success) {
window.location.href = "../php/admin.php";
} else {
document.getElementById("errorMsg").innerText = "Login fehlgeschlagen!";
}
} else {
document.getElementById("errorMsg").innerText = "Login fehlgeschlagen!";
const text = await response.text();
if (text.includes("Benutzerdaten fehlen") || text.includes("error=1")) {
document.getElementById("errorMsg").innerText = "Login fehlgeschlagen!";
} else if (response.url && response.url.includes("admin.php")) {
window.location.href = response.url;
} else {
document.getElementById("errorMsg").innerText = "Server-Antwort unklar.";
}
}
});

View File

@@ -12,14 +12,14 @@
<h2>Admin Login</h2>
<img src="../img/csg.png" width="100" />
</div>
<form id="loginForm" action="../php/login.php" method="post">
<label for="username">Benutzername</label>
<form id="loginForm">
<input type="text" id="username" name="username" required />
<label for="password">Passwort</label>
<input type="password" id="password" name="password" required />
<button type="submit">Einloggen</button>
</form>
<p id="errorMsg" style="color: red;"></p>
</div>
<!--<script src="../js/login.js"></script>-->
<script src="../js/login.js"></script>
</body>
</html>