Programmieren – die besten Beiträge

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

Was ist bei meinem C# Code falsch?

using System;
namespace NeuArray
{
  class Programm
  {
    static void Main()
    {
      string[,] products = new string[2, 5];
      products[0, 0] = "Senf";
      products[1, 0] = "1.99 Euro";
      products[0, 1] = "Smartphone";
      products[1, 1] = "Preis: 1299 Euro";
      products[0, 2] = "Schokolade";
      products[1, 2] = "2.99 Euro";
      products[0, 3] = "Obst";
      products[1, 3] = "1.49 Euro";
      products[0, 4] = "Couch";
      products[1, 4] = "499 Euro";
    Start:
      Console.Write("Gib die Spalte ein von dem Produkt das du suchst: ");
      int Spalte = Convert.ToInt32(Console.ReadLine());
      if (Spalte < 0 || Spalte > 5)
      {
        Console.WriteLine("Diese Spalte existiert nicht. ");
        goto Start;
      }
      Console.WriteLine("Das gesuchte Produkt lautet: " + products[0, Spalte]);
      Console.WriteLine("Möchtest du den Preis dieses Produktes sehen? Geben Sie 1 ein für Ja und 2 für Nein ");
      int Abfrage = Convert.ToInt32(Console.ReadLine());
      switch (Abfrage)
      {
        case 1:
          Console.WriteLine(products[1, Spalte]);
          break;
        case 2:
           
          Abfrage2:
            Console.WriteLine("Möchten Sie nach einem neuen Produkt suchen? Geben Sie 1 ein für Ja und 2 für Nein");
            int AbfrageProduktNeu = Convert.ToInt32(Console.ReadLine());
            if ((AbfrageProduktNeu == 1))
            {
              goto Start;
            }
            else if (AbfrageProduktNeu == 2)
            {
              Console.WriteLine("Programm beendet.");
            }
            else
            {
              Console.WriteLine("Ungültige Eingabe.");
              goto Abfrage2;
            }
            break;    
      }
    }
  }
}

Es steht zwar nicht, dass irgendwo ein Fehler ist aber immer wenn ich das Programm in der Konsole ausgeben will steht da "Hot Reload".

Könnt ihr mir helfen bitte?

Software, App, programmieren, C Sharp, Code, Programmiersprache, Visual Studio

Meistgelesene Beiträge zum Thema Programmieren