PHP: Login-System funktioniert nicht?

Hey, ich bin als Schüler gerade mit einem Partner dabei, an einem Projekt für den Informatikunterricht zu arbeiten. Aktuell arbeiten wir daran, dass man sich als Benutzer auf der Webseite anmelden kann.

Das Registrieren funktioniert bereits und als Vorlage diente uns dazu dieses Video:

https://www.youtube.com/watch?v=bNwT7pqVzDc

Nun sind in der Datenbank sowohl Benutzername als auch Passwort eingetragen. Als Benutzer soll man sich nun anmelden können und dann auf home.php weitergeleitet werden. Als Vorlage zum Anmelden verwendeten wir dieses Video:

https://www.youtube.com/watch?v=HrLucaAHLm8

Das Problem:

Wenn man versucht, sich auf der Webseite anzumelden, erscheint die Meldung "Passwort stimmt nicht ueberein", obwohl es übereinstimmen sollte. Hier ist der Quelltext:

<?php

 require("connection.php");

 if(isset($_POST["submit"])){

   $Benutzername = $_POST["Benutzername"];

   $Passwort = $_POST["Passwort"];

   $stmt = $con->prepare("SELECT * FROM Angestellten_Benutzer WHERE Benutzername=:Benutzername");

   $stmt->bindParam(":Benutzername", $Benutzername);

   $stmt->execute();

   $userExists = $stmt->fetchAll();

   $passwordHashed = $userExists[0]["Passwort"];

   $checkPassword = password_verify($Passwort, $passwordHashed);

   if($checkPassword === false){

     echo "Passwort stimmt nicht ueberein";

   }

   if($checkPassword === true){

     session_start();

     $_SESSION["Benutzername"] = $userExists[0]["Benutzername"];

     header("Location: home.php");

   }

 }

?>

<html lang="de">

<head>

   <meta charset="UTF-8">

   <meta http-equiv="X-UA-Compatible" content="IE=edge">

   <meta name="viewport" content="width=device-width, initial-scale=1.0">

   <title>Anmelden</title>

   <link rel="stylesheet" href="style.css">

</head>

<body>

   <form action="pp.php" method="POST">

       <h1>Anmelden</h1>

       <div class="inputs_container">

           <input type="text" placeholder="Benutzername" name="Benutzername" autocomplete="off">

           <input type="password" placeholder="Passwort" name="Passwort" autocomplete="off">

       </div>

       <button name="submit">Anmelden</button>

   </form>

</body>

</html>

Ich würde mich sehr über eine Korrektur dieses Codes freuen. Der Validator sowie die KI scheinen keine Lösung für das Problem zu haben und keine Probleme zu erkennen. Danke!

SQL, Webseite, programmieren, Datenbank, PHP
Hilfe bei JavaScript Code?

ich habe was ausprobiert, aber da scheint was falsch zu sein, sieht man einen Fehler auf den ersten blick?

Also die Aufgabe ist: Es sollen die gefundene Position auf einer Karte darstellen mit Hilfe von Leaflet. Mit der Funktion updateMarkers werden die übergebenen GeoTags auf der Karte als Marker angezeigt. Beim Aufruf der Methode werden die zuvor vorhandenen Marker entfernt.

updateLocation-Funktion sollte wie folgt ergänzt werden:

  • Die Funktionen initMap und updateMarkers mit den aktuellen Koordinaten aufrufen. Daraufhin wird die Karte in Ihrer App angezeigt.
  • Suche im DOM das Image Element auf der Webseite.
  • Lösche sowohl das <img>-Element als auch das <p>-Element für die Beschriftung mithilfe des DOM (nicht in der HTML Datei). Dadurch wird der Platzhalter zur anfänglich Darstellung der Karte auf der Webseite wieder entfernt.

Kann jemand helfen? Mit Schritten auf die man unbedingt achten soll, oder so?

Der momentane Code sieht so aus…:

function updateLocation() {
    // Auslesen der Position mit findLocation
    LocationHelper.findLocation((locationHelper) => {
        // Koordinaten aus dem LocationHelper-Objekt abrufen
        const latitude = locationHelper.latitude;
        const longitude = locationHelper.longitude;
        
        // Koordinaten in die Formulare eintragen
        document.getElementById('taglatinput').value = latitude;
        document.getElementById('taglonginput').value = longitude;
        document.getElementById('disclatinput').value = latitude;
        document.getElementById('disclonginput').value = longitude;

        // Koordinaten auf Karte darstellen
        MapManager.initMap(latitude, longitude);
        MapManager.updateMarkers(latitude, longitude);
        
        // Image und p-Elemente im DOM entfernen
        const mapImage = document.getElementById('map');
        const mapDescription = document.getElementById('resultMap');
        // Konsolenausgabe zur Überprüfung der Koordinaten
        console.log("Latitude:", latitude);
        console.log("Longitude:",longitude);
        if (mapImage && mapDescription) {
            mapImage.remove();
            mapDescription.remove();
        }
    });
}

document.addEventListener("DOMContentLoaded", updateLocation);

HTML, Webseite, JavaScript, HTML5, Code, Informatik, Programmiersprache, Webentwicklung, Frontend

Meistgelesene Fragen zum Thema Webseite