PHP-Login Fehler?

Guten Tag,

Ich habe einen Fehler beim einloggen in mein Loginsystem mit PHP. Ich kann user registrieren, also der username und der password_hash werden richtig in der DB gespeichert. Wenn ich mich aber mit einem bestehenden user der in der Datenbank existiert anmelden möchte, klappt das nicht und es kommt diese Fehlermeldung:

Fehlermeldung Beginn:

Warning: Trying to access array offset on value of type bool in C:\xampp\htdocs\login.php on line 16

Anmeldung fehlgeschlagen, versuche es erneut.

Fehlermeldung Ende.

Mein PHP register Script:

<?php

// Datenbankverbindung

include ('connection.php');

// Benutzereingabe aus Formular

$username = $_POST['username'];

$password = $_POST['password'];

// Das Passwort hashen

$hashedPassword = password_hash($password, PASSWORD_BCRYPT);

// SQL-Abfrage, um den Benutzer in der Datenbank zu speichern

$sql = "INSERT INTO users (username, password_hash) VALUES (?, ?)";

$stmt = $conn->prepare($sql);

$stmt->execute([$username, $hashedPassword]);

// Erfolgsmeldung oder Weiterleitung zur Anmeldeseite

header('Location: login.html');

?>

Mein PHP login Script:

<?php

// Datenbankverbindung

include ('connection.php');

// Benutzereingabe aus Formular

$username = $_POST['username'];

$password = $_POST['password'];

// SQL-Abfrage, um das gespeicherte Passwort abzurufen

$sql = "SELECT password_hash FROM users WHERE username = ?";

$stmt = $conn->prepare($sql);

$stmt->execute([$username]);

$row = $stmt->fetch();

// Überprüfen, ob das eingegebene Passwort korrekt ist

if ($row && password_verify($password, $row['password_hash'])) {

    // Anmeldung erfolgreich, führe die notwendigen Aktionen aus

    // z.B., setze eine Sitzung und leite den Benutzer weiter

    session_start();

    header('Location: index.html');

} else {

    echo "Anmeldung fehlgeschlagen, versuche es erneut.";

}

?>

Wäre cool wenn mir jemand bei diesem Problem weiterhelfen könnte, bin noch nicht so fit in dieser Thematik.

SQL, HTML, Webseite, Datenbank, MySQL, PHP, Programmiersprache, Webentwicklung
HTML projekt wie findet ihr die vorarbeit?

html:

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<Header>
</Header>
<div class="input">
<main>
<form action="" method="post">
<h2>Anmeldung</h2>
<input type="email" name="Email" placeholder="Email hier eingeben" required="@" id=""> <br>
<input type="text" name="Benutzer" placeholder="Benutzer hier eingeben" required="A-z" > <br>
<input type="password" name="passwort" placeholder="password hier eingeben " id=""> <br>
<input type="submit" value="Anmelden">
<input type="reset" value="reset">
</form>
</div>
<hr>
<a href="#">Impressum</a>
<a href="#">kontakt</a>
<a href="#">Über uns</a>
</main>
<footer>
</footer>
</body>
</html>

css

body {
font-family: Arial, Helvetica, sans-serif;
color: white;
}
body{
background-color: black;
}
.input {
display: flex;
margin: 700px;
margin-top: 300px;
flex-direction: column;
justify-content: center;
align-items: center;
box-shadow: 1px 1px 3px 3px white;
border-radius: 30px;
height: 300px;
width: 300px;
}
a{
font-family: Arial, Helvetica, sans-serif;
display: flex;
justify-content: center;
align-items: center;
}
a:hover{
color: green;
text-decoration-line: none;
}
input{
padding: 5px;
border-radius: 10px;
}
input[type="submit"] {
font-size: 1.0em; padding: 1px 6px;
font-family: Roboto, sans-serif;
font-weight: 100;
color: teal;
border: 1px solid silver;
background-image: linear-gradient(to top, gainsboro 0%, white 90%);
border-radius: 20px;
}
input[type="reset"] {
font-size: 1.0em; padding: 1px 6px;
font-family: Roboto, sans-serif;
font-weight: 100;
color: teal;
border: 1px solid silver;
background-image: linear-gradient(to top, gainsboro 0%, white 90%);
border-radius: 20px;
}

Bild zu Frage
HTML, Webseite, CSS, HTML5, Programmiersprache, Webdesign, Webentwicklung
Wie kann ich die Domaininhaberschaft nachweisen (GoDaddy STRATO)?

Ich fange zurzeit an, meine ersten Webseiten zu erstellen. Jetzt habe ich ein paar Probleme.

Ich habe meine Domain über STRATO bezogen. WordPress Hosting lasse ich über GoDaddy laufen.

Den Namenserver habe ich jetzt schon genauso wie die IP-Adresse hinterlegt.

Jetzt soll ich von GoDaddy aus einen TXT-Datensatz erstellen, um meine Inhaberschaft der Domain nachzuweisen. Die muss ich ja, so wie ich es verstanden habe, bei STRATO erstellen.

Wenn ich jetzt bei STRATO bei der Domain bin, kann ich dort unter DNS den Punkt: TXT und CNAME Records inklusive SPF und DKIM Einstellungen aufrufen. Dort kann ich dann den Typen auswählen (TXT), den Präfix, wo meine Domain am Ende ist und den Wert.

So wie ich es verstanden habe, muss ich bei Wert den langen Code, den ich von GoDaddy bekommen habe, unter Wert eintragen. Wenn ich das so speichern möchte, steht aber, dass der Präfix fehlt. Ich weiß aber leider nicht, wo ich den Präfix herholen oder was ich dort eintragen soll.

Ich habe im Internet gesucht, aber da steht nur, dass man @ oder * eintragen soll. Das funktioniert alles nicht. Wenn ich auf der Hilfseite von STRATO schaue, tragen die als Beispiel unter Präfix auch einen längeren "Code" ein. Dieser soll wohl ein anderer als der sein, den man von GoDaddy unter Wert einträgt.

So wie ich das wohl verstehe, muss der Präfix bestimmt der Startort sein und der Wert dann der Zielwert.

Wie trage ich das richtig ein, um die SSL-/Domaininhaberschaft für GoDaddy zu bestätigen?

Vielen Dank im Voraus!

Homepage, Webseite, WordPress, Hosting, SSL, Strato, Webentwicklung, Webhosting, godaddy, praefix, ssl-verschlüsselung, SSL-Zertifikat, txt
Wieso funktioniert der Code nicht?

binärbaum:

wenn ich das in der main erstelle mit

Tree t1 = new Tree();
t1.add(9);
t1.add(1);
t1.add(23);
und dann t1.root ausprinte funktinoiert es, aber t1.root.left liefert null, also es gibt nen fehler, wieso aber?

hat es was damit zu tun " parent = new TNode(data);" ?ich übergeben den linken knoten der wurzel und das ist jetzt parent, und dann weise ich parent neu zu also ich weise den linken knoten der wurzel neu zu, wieso geht das aber nicht?


public class Tree {
    TNode root;


    Tree(){
        this.root = null;
    }


    public void add(int data){
        if(root == null){
            root = new TNode(data);
        }else{
            if(data < this.root.data){
                add(data, root.left);
                System.out.println("miosty");
            }else {
                add(data, root.right);
            }
        }
    }
     public void add(int data, TNode parent){
        if(parent == null){
            System.out.println("Zu");
           parent = new TNode(data);
        }else{
            if(data < parent.data){
                add(data, parent.left);
            } else {
                add(data, parent.right);
            }
        }
    }
}
HTML, Webseite, Java, JavaScript, Array, Code, PHP, Programmiersprache, Python, Webentwicklung, Algorithmus
Google Search Console einzelne Unterseiten entfernen lassen?
Bild zu Frage
PC, Computer, Marketing, Software, Windows, Browser, Google, Hardware, HTML, IT, Webseite, programmieren, CSS, WordPress, JavaScript, Mozilla Firefox, Suchmaschine, Google Chrome, Bing, CMS, Edge, Informatik, PHP, Programmiersprache, SEO, Webdesign, Webentwicklung, Indexierung, Laravel, google search console
Cross Origin Anfrage blockiert?

Ich möchte gerade eine REST-API für mein Heimnetzwerk einrichten um über z.B. einen button einen CMD befehl auf dem Server PC auszuführen.

Mein Pythonscript für die API:

from flask import Flask, request, jsonify
from flask_cors import CORS

app = Flask(__name__)
CORS(app)

@app.route('/execute-command', methods=['POST'])
def execute_command():
  # Hier wird der Code zum Ausführen des Befehls eingefügt
  result = "Befehl wurde ausgeführt."
  return jsonify({"response": result})

if __name__ == '__main__':
  app.run(host='0.0.0.0', port=5000)
Mein HTML Script<!DOCTYPE html>
<html>
<head>
  <title>API Test</title>
</head>
<body>
  <button id="executeBtn">Befehl ausführen</button>
<script>
  document.getElementById('executeBtn').addEventListener('click', function() {
    fetch('http://localhost:5000/execute-command', { // Verwende absolute URL
      method: 'POST',
    })
    .then(response => response.json())
    .then(data => {
      console.log(data);
    })
    .catch(error => {
      console.error('Fehler:', error);
    });
  });
</script>
</body>
</html> 

Ich bekomme als Fehler von Firefox in der Konsole:

Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf http://localhost:5000/execute-command. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).

Fehler: TypeError: NetworkError when attempting to fetch resource

Entschuldigung wenn es offensichtlich ist, bin da noch sehr frisch und habe keine Lösung gefunden.

Netzwerk, HTML, Webseite, JavaScript, HTML5, Code, Netzwerktechnik, Port, Programmiersprache, Python, Webentwicklung, JSON, Flask

Meistgelesene Fragen zum Thema Webentwicklung