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
BigData - Milliarden Zeilen aus SQL Tables laden?

Anstatt direkt auf Stack-Overflow zu lümmeln möchte ich der deutschen Community mal ne Chance geben. In einem meiner Projekte geht es darum mehrere Millarden Zeilen an Relationalen Daten zu laden, lokal in einer DB zu speichern und dann in die Cloud zu laden.

  • Nein wir haben keinen Zugang zum Azure Backbone
  • Ja, traffic ist aktuell ein Problem aber nicht das Akute

Nun haben wir eine DB2 OnPrem und wir ich bisher in den Datagateways vorgegangen bin ist mit ORDER BY X OFFSET X FETCH FIRST X um die Datenmenge aufzuteilen und parallel abzuarbeiten.

Die o.g. Datenmenge von ein paar Milliarden setzen sich aus mehreren Tabellen zusammen, alle haben einen Primary Key. Jage ich nun eine Query mit Order-By über die Datenmenge, dauert das für 35k Datensätze ca. 2:15 Minuten.

Kurze Formel wegen dem Microbatching:

135 Sekunden * 256 (Microbratches) * 8 (Jobbatches) landen wir bei einer Ladezeit (READ ONLY) von ca. 76,8 Stunden.

Hat jemand von euch eine Idee, wie man das Problem angehend könnte?

Hier mein Lösungsansatz:

  1. Temptable der Quelle errichten, da ich auf die Quelle KEIN Lock setzen kann
  2. OrderBy weglassen und die physische reihenfolge des statischen Temptables als Faden für die Ingestion der Daten verwenden.

Mit dem Ansatz würde es nur ca. 12 * 256 * 8 Sekunden brauchen also 24.576 was durchaus akzeptabel wäre.

Für den Zukünftigen Real-Time Ansatz werden ohne hin in die Quellsysteme Events eingebaut, welche die eindeutige ID an die Gateways kommunizieren um die Daten in die Cloud zu transferieren. - Meiner Meinung nach der einzige Weg near-real-time in dieser Datenmenge zu realisieren (Gibts hier vielleicht alternative Vorschläge? - Ich kann ja nicht annehmen, dass jedes Quellsystem änderbar ist und ich möchte Insellösungen vermeiden)

Danke schonmal im Voraus :)

Grüße

SQL, Datenbank
Datenbanken Normalisierung - dritte Normalform bei folgender Tabelle?

Moin zusammen,

ich gehe vor meiner Prüfung nochmal einige Aufgaben durch, eine davon Normalisierung. Da wir keine Lösungen haben habe ich keine Chance mich selber zu kontrollieren. Chat GPT liefert auch jedesmal eine neue Lösung, der scheint auch nicht so zuverlässig zu sein. Die Aufgabe ist folgende:

1f) Zerlegen Sie die Tabelle so, dass sie der dritten Normalform genügt. Markieren Sie in Ihrer Zerlegung alle Primär- und Fremdschlüssel. In Ihrer Zerlegung dürfen Sie keine zusätzlichen Attribute etwa in Form künstlicher Schlüssel verwenden. (Die Tabelle füge ich hinzu).

Bei der dritten Form sollten ja alle Attribute voll funktional Abhängig vom Primärschlüssel sein. Somit müssen Spalten die nicht nur vom Primärschlüssel abhängig sind in eine weitere Tabelle ausgelagert werden.

Mein Lösungsvorschlag wäre gewesen (Primärschlüssel sind dick):

Tabelle 1: Serie Erfinder
Tabelle 2: Serie(Fremdschlüssel auf Tabelle1), Staffel, Folge, Titel, Länge, Special

Weitere Informationen zu der Tabelle:

  • Zu jeder Serie kann es mehrere Staffeln geben. Innerhalb einer Staffel kann es mehrere Folgen geben. Staffeln und Folgen sind durchnummeriert.
  • Jede Serie wurde von genau einer Person erfunden. Der Name der Person befindet sich in der Spalte ‚Erfinder’.
  • Einige Folgen sind so genannte Specials. Ob eine Folge ein Special ist, ist in der Spalte ‚Special’ vermerkt.

Bild zu Frage
Studium, SQL, IT, Datenbank, Informatik, Normalform, normalisierung
Als Student Online Geld verdienen (Programmieren)?

Hallo,

Da ich noch Student bin und nicht sehr viel Geld habe, bin ich auf der Suche nach Jobs (Freelancing). Mein Ziel ist es um die 1200-2000 Fr. zu verdienen, da ich mir ein MacBook kaufen möchte, aber ich weiss nicht genau wie ich das anstellen soll. In meiner Freizeit programmiere ich sehr gerne und interessiere mich generell sehr gerne für die IT. Ich kenne mich schon mit Java, SQL, Python, C++, Javascript aus und ich bin auch recht gut darin.

Mein einziges Problem darin ist, dass ich nicht weiss, wie ich etwas verkaufen soll, damit ich irgendwie an das gewünschte Geld komme. Was ich sehr gut kann, ist das, was in einer App im Hintergrund passiert. Also das Logische hinter einer App. Was ich aber wiederum noch nicht sehr gut kann, ist das Designen einer App, damit es benutzerfreundlich ist und damit man die auch verwenden kann. Ich kann ja keine App verkaufen, ohne das entsprechende Design. Ich habe auch vor das mit Flutter zu lernen, aber bis dahin geht es mir ein bisschen zu lange.

Was ich auch noch sehr gut kann, ist Datenbanken erstellen, Queries, ERM, Schema usw. Ich kann diese auch dann mit der dementsprechenden Software verknüpfen.

Ich habe bisher keine Option gefunden, mit diesem Wissen irgendwelches Geld zu verdienen. Natürlich kenne ich auch Plattformen wie FIverr, aber ich habe das Gefühl da ich da keinen Gewinn erzielen werde, denn wenn ich z.B. anbiete eine WordPress Homepage zu machen, dann gibt es schon 50 andere die schon mehr Erfahrung haben als ich und auch schon 5-Sterne-Bewertungen haben und warum sollten dann Kunden bei mir einkaufen, wenn es andere gibt, wo es besser ausschaut.

Mein Ziel ist es ja nicht etwas langzeitiges zu finden, sondern ich möchte eigentlich nur an den gewünschten Betrag zu kommen, und das auch möglichst schnell.

Vielleicht habt ihr ein paar Tipps, wie ich an mein Ziel näher kommen könnte.
PS: Mir wäre es auch egal, müsste ich dafür eine neue Programmiersprache lernen.

Ich hoffe, jemand kann mir irgendwie helfen
Danke im Voraus!

LG
Simone

Geld verdienen, Job, Nebenjob, SQL, Java, JavaScript, Minijob, pro, Taschengeld
PHP Rechteverteilung?

 Hallo zusammen. Ich habe eine Aufgabe, in der es darum geht, eine einfache Webseitenstruktur zu erstellen. Dabei soll es eine einfache Inventarliste sowie eine Benutzerverwaltung geben. Dabei soll es einen Admin geben, der in der Lage ist, in der Inventarliste Sachen hinzuzufügen, sowie in der Benutzerverwaltung Mitarbeiter zu erstellen, Updaten und Löschen. Folgendes Problem: In der Einlogen.php habe ich eine Methode getRights() erstellt. in dieser Methode wird dem eingeloggten User die Rollen gegeben, welche sich in der Tabelle Rechte befinden. Diese werden in Session-Variablen gespeichert. Jedoch speichert die Session-Variable, die für die Rollen zuständig ist die Rollen nicht. So hat selbst der Admin-Account keinen Zugriff auf die Benutzerverwaltung. Die Abfragen selbst funktionieren. Ist selbst getestet worden. 

 Einen schönen Abend noch.

<?php
Session_start();
// Überprüfe, ob der Benutzer angemeldet ist
$server= "localhost";
  $port="3307";
  $user = "root";
  $passwd = "usbw";
  $datenbank = "benutzerdaten";
  $con = mysqli_connect($server,$user,$passwd,$datenbank,$port);
  mysqli_select_db($con,"benutzerdaten");
  
  // Prüfen, ob der User den Adminbereich betreten darf
  if(!isset($_SESSION['Rollen']) OR !in_array('User_administrieren', $_SESSION['Rollen']) == true)
    die("Sie haben keine Berechtigung, diese Seite zu betreten!\n");
 ?>

 

<html>
  <head>
  
   <meta charset="utf-8">
   
   <title>Registrierung</title>
   
   <link rel="Stylesheet" type="text/css" href="Abschlussprojekt.css">
   
  </head>
  
  <body>
  <div class ="headmain2">
     <a class= "Startseite" href="Startseite.php">Benutzerverwaltung</a>
     <a class= "Inventarliste" href="Inventarliste.php">Inventarliste</a>
     <a class= "Benutzerverwaltung" href="Benutzerverwaltung.php">Benutzerverwaltung</a>
 
      </div>
      
</body>
</html>
SQL, Datenbank, PHP, Programmiersprache
ChatBot wie ChatGPT programmieren? (Einfacher)?

Hi, mein großes Projekt für dieses Jahr soll sein, einen intelligenten ChatBot zu Coden. Ähnlich wie ChatGPT, aber mit ist natürlich bewusst, dass ich einen so komplexen Bot nicht machen kann. Es soll ein kleinerer werden.

Meine Vorstellungen:

Die Oberfläche mit HTML und CSS

Die Datenbank mit SQL? (ich habe wenig Erfahrung mit Datenbanken, deshalb das Fragezeichen)

Ansonsten die Logik eventuell mit JS, aber eventuell mit etwas anderem, da man ja über JS leicht Schadsoftware injizieren kann.

Könnt ihr mir da einen Vorschlag machen?

Die Funktion habe ich mir so vorgestellt:

In einer Datenbank sind entweder Schlüsselwörter oder komplette Antworten gespeichert. Zu jedem Schlüsselwort sollen Daten gespeichert sein. Wenn in der Datenbank nur Schlüsselwörter gespeichert sind, soll der Bot automatisch Sätze dazu formulieren.

Ein Beispiel:

Eingegebene Frage: Wer ist der Bundeskanzler von Deutschland?

(Bot Sicht spezielle Wörter im Text, z.B. Bundeskanzler und Deutschland)

in der Datenbank: Olaf Scholz (Daten zu ihm, Schlüsselwörter wann diese Antwort genutzt wird) z.B. Olaf Scholz (deutscher Kanzler, männlich, …)[Bundeskanzler+Deutschland, Olaf Scholz, Scholz]

In dem runden Klammern die Daten zu ihm, in den eckigen die Schlüsselwörter, wann die Antwort genutzt wird. Ansonsten halt vorgefertigte Antworten, die sich auch an Schlüsselwörtern in der Frage orientieren.

Wenn nur Wörter gespeichert sind, dann soll er sich einen Satz drumherum bauen.

Ich würde ihn im Browser laufen lassen, aber nicht öffentlich. Eventuell kann man ihn auch mit Google verknüpfen… auch wenn dann vermutlich die ein oder andere Antwort falsch ist. Aber das macht bei meinem nichts. Was haltet ihr davon? Wie würdet ihr es umsetzen? Welche Sprache? Eventuell ein paar Zeilen Code für bestimmte Funktionen?

LG

Programm, SQL, HTML, Programmierer, programmieren, CSS, Java, JavaScript, künstliche Intelligenz, Programmiersprache, Python, C (Programmiersprache), Chatbot, Python 3, Pygame, ChatGPT

Meistgelesene Fragen zum Thema SQL