Login fehlerhaft

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Login fehlerhaft

    Hallo zusammen,
    ich versuche mich gerade an einem funktionsfähigen Login.
    Leider bin ich nicht wirklich erfahren im coden und schon gar nicht in php.

    Logge ich mich nun mit irgendeinem PW oder Usernamen ein, egal ob er in meiner accounts Tabelle existiert oder nicht, werde ich zur entsprechenden Seite geleitet. Das sollte er ja nun definitiv nur tuen, wenn PW und Username in der Tabelle korrekt sind.

    Ich bin den Code nun mehrmals durchgegangen, habe ihn mit meiner DB verglichen.

    Ich brauche hier wirklich Hilfe, ich möchte den Fehler unbedingt finden.

    DB name: inventarisierung,
    Tabellenname :accounts,
    Spalten: USERNAME, PASSWORD.

    hier mein Code

    PHP-Code:
    <!DOCTYPE html>
    <html lang="en" dir="ltr">

    <head>
        <meta charset="utf-8">
        <title>Login</title>
        <link rel="stylesheet" href="session-style.css">
    </head>

    <body>
        <?php
        
    if (isset($_POST["submit"])) {
            require(
    "mysql.php");
            
    $stmt $mysql->prepare("SELECT * FROM accounts WHERE USERNAME = :user");//Check Username
            
    $stmt->bindParam(":user"$_POST["username"]);//ersetzen der Variablen
            
    $stmt->execute();
            
    $count $stmt->rowCount();
            if (
    $count == 1) {
                
    //Username ist frei
                
    $row $stmt->fetch();
                if (
    password_verify($_POST["pw"], $row["PASSWORD"])) {
                    
    session_start(); //session start; if logged in
                    
    $_SESSION["username"] = $row["USERNAME"];
                    
    header("Location: index.php");
                } else {
                    echo 
    "Der Login ist fehlgeschlagen";
                }
            } else {
                echo 
    "Der Login ist fehlgeschlagen";
            }
        }
        
    ?>
        <h1>Anmelden</h1>
        <form action="index.php" method="post">
            <input type="text" name="username" placeholder="Username" required><br>
            <input type="password" name="pw" placeholder="Passwort" required><br>
            <button type="submit" name="submit">Einloggen</button>
        </form>
        <br>

    </body>

    </html>

    Bin für jede Hilfe dankbar

  • #2
    So macht man kein Login.
    PHP-Code:
    $stmt $mysql->prepare("SELECT * FROM accounts WHERE USERNAME = :user 
                                                    AND PASSWORD = md5[oder]sha1(:pw)"
    ); 
    Da schlägt man direkt zwei Fliegen mit einer Klappe.

    Gruß
    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Hallo Peter,

      ist bestimmt nett gemeint aber ehrlich gesagt bringt mich das gerade nur noch mehr durcheinander, zumal der auch wieder Fehler wirft, die ich nicht verstehe.
      Dazu habe ich einfach zu wenig Ahnung vom Coden und von php.

      Ich würde gerne meinen Codefehler verstehen (Und der kommt wohl leider daher, dass ich meine eigenen Entwicklung nicht ganz durchschaue).

      Um wirtschaftlichere Schreibweise mache ich mir danach Gedanken.


      Wenn mir also jemand bei meiner Fehler Findung helfen kann

      Das ist übrigens, was er mir auswirft:
      ---------array(1) { [0]=> array(8) { ["ID"]=> string(1) "1" [0]=> string(1) "1" ["USERNAME"]=> string(4) "Otto" [1]=> string(4) "Otto" ["email"]=> string(0) "" [2]=> string(0) "" ["PASSWORD"]=> string(5) "12345" [3]=> string(5) "12345" } } ----------string(5) "12345" string(5) "12345" bool(false) Login fehlgeschlagen

      Ich verstehe nicht weshalb da ein false herauskommt, es sind doch alle Werte erkannt worden.??
      Zuletzt geändert von Frogster; 22.12.2021, 07:07.

      Kommentar


      • #4
        bei dein Script ist so einiges falsch. Das alles zu erklären ist mir zu schwer. Schau dir das mal an , das könnte für dich besser sein

        https://codeshack.io/secure-login-system-php-mysql/

        Kommentar

        Lädt...
        X