Wie verbinde ich mein PHP-Login mit SQL Datenbank von Strato
Moin zusammen,
ich habe mich neu registriert heute. Vielleicht kann mir jemand weiterhelfen..
Ich bin seit Tagen dabei ein Login Fenster für ein eigenes kleines Ticketcenter zu basteln.
Alles schön und gut...Klappt, und sieht auch gut aus. Jedoch habe ich Probleme beim Abruf des username und password aus der Datenbank (MySQL 8.0). Diese Datenbank läuft bei mir über den Anbieter "strato.de".
Entweder schlägt die Verbindung fehl oder ich bekomme den Fehler (HTTP ERROR 500 - interner Fehler)....Beziehungsweise leitet mich die login.php nach der Überprüfung auch gar nicht an die dashboard.php weiter, und bleibt stattdessen weiß.
Ich habe alles überprüft, die Daten zum Verbinden mit der DB stimmen auch. Habe auch gegoogelt, aber man findet nichts gescheites bzw. nichts, was ich nicht auch schon probiert habe.
Kann mir jemand mehr dazu sagen? Mir gehen die Ideen aus..
Vielen Dank im Voraus
Beste Grüße
Lukas
PS: Ich füge meine Codes mit an.
Login.html
Login.php
ich habe mich neu registriert heute. Vielleicht kann mir jemand weiterhelfen..
Ich bin seit Tagen dabei ein Login Fenster für ein eigenes kleines Ticketcenter zu basteln.
Alles schön und gut...Klappt, und sieht auch gut aus. Jedoch habe ich Probleme beim Abruf des username und password aus der Datenbank (MySQL 8.0). Diese Datenbank läuft bei mir über den Anbieter "strato.de".
Entweder schlägt die Verbindung fehl oder ich bekomme den Fehler (HTTP ERROR 500 - interner Fehler)....Beziehungsweise leitet mich die login.php nach der Überprüfung auch gar nicht an die dashboard.php weiter, und bleibt stattdessen weiß.
Ich habe alles überprüft, die Daten zum Verbinden mit der DB stimmen auch. Habe auch gegoogelt, aber man findet nichts gescheites bzw. nichts, was ich nicht auch schon probiert habe.
Kann mir jemand mehr dazu sagen? Mir gehen die Ideen aus..
Vielen Dank im Voraus
Beste Grüße
Lukas
PS: Ich füge meine Codes mit an.
Login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Benutzeranmeldung</title>
<link rel="stylesheet" href="css/login.css">
</head>
<body>
<form action="login.php" method="post">
<div class="login-container">
<div class="support-center">
<img src="***" alt="Support Center Logo" class="logo">
<h3>Support-Center</h3>
</div>
<label for="username">Benutzername:</label>
<input type="text" id="username" name="username" required>
<label for="password">Passwort:</label>
<input type="password" id="password" name="password" required>
<button type="submit">Anmelden</button>
<p>Version ***</p>
<a href="passres.html">Passwort vergessen<a/>                           <a href="https://www.***.de">www.***.de</a>
</form>
</div>
</body>
</html>
Login.php
<?php
session_start();
$servername = " ... ";
$username = " ... ";
$password = " ... ";
$dbname = " ... ";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
// Überprüfe, ob der Benutzer existiert
$stmt = $conn->prepare("SELECT id, username, password FROM users WHERE username = ?");
$stmt->bind_param("s", $username);
$stmt->execute();
$stmt->bind_result($user_id, $user_username, $hashed_password);
$stmt->fetch();
$stmt->close();
if ($user_id && password_verify($password, $hashed_password)) {
// Anmeldung erfolgreich
$_SESSION["user_id"] = $user_id;
header("LOCATION: dashboard.php");
exit(); // Stelle sicher, dass nach der Weiterleitung nichts mehr ausgeführt wird.
} else {
// Anmeldung fehlgeschlagen
$_SESSION["login_error"] = "Invalid username or password";
header("LOCATION: login.php");
exit();
}
}
$conn->close();
?>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5205574697
Url: https://administrator.de/forum/wie-verbinde-ich-mein-php-login-mit-sql-datenbank-von-strato-5205574697.html
Ausgedruckt am: 05.02.2025 um 18:02 Uhr
6 Kommentare
Neuester Kommentar
Quote from @lukas280:
Naja nach einigem hin und her lag es nun am Passwort hashing, welches im Code hinterlegt war, aber die Passwörter in der Datenbank waren klartext...
Naja nach einigem hin und her lag es nun am Passwort hashing, welches im Code hinterlegt war, aber die Passwörter in der Datenbank waren klartext...
Ouch