Ohne den Code getestet zu haben, vorab mal ein Tipp: Setze die Felder im MySQL-Query in Backticks ( ` ): SELECT `whatever` FROM `table` WHERE `parameter` = 'value' (oder $value). Das erspart schon mal viele Probleme im MySQL-Bereich.

...zur Antwort

Ohne den Code zu kennen, wird es natürlich schwierig. Spontan würde mir einfallen, dass du den Speichern-Code vielleicht in derselben Datei hast wie die Form - und nicht in der Datei, die durch action="dieFile.endung" aufgerufen wird. Ist das der Fall?

...zur Antwort

Also ich würde es ja ohne den Handler machen: http://php.net/manual/de/function.file-put-contents.phpDas vereinfacht das Script etwas.

...zur Antwort

Im Prinzip machst du zwei Datenbank-Abfragen:

1) Ist der eingegebene Benutzername (und in der Session gespeicherte) in der Datenbank vorhanden?

Wenn ja:

1a) Stimmt das eingegebene Passwort mit dem zum Benutzernamen zugehörigen überein?

Wenn ja:

1a1) Alles gut, User darf rein (ggf. noch Rechte überprüfen) -> Dann vielleicht noch in $_SESSION den Wert $is_authenticated (bspw.) auf true setzen.

1a2) Nein, Passwort ist falsch.


Oder der Benutzername ist nicht vorhanden:

1b) User gibt es nicht, darf also auch nicht rein.


Fertig.

...zur Antwort

Ein Tipp, der vor Jahren vor derselben Frage stand:

Mach entweder ein Framework, was du für künftige Projekte nutzen möchtest (z. B. zur Erleichterung von Instanzierungen etc.) oder, was noch viel wertvoller wäre: Entwickle Apps für bestehende Systeme (in meinem Fall Joomla und Nextcloud). Gibt zig andere Systeme, die du erweitern könntest (Wordpress, Typo3, ...).

...zur Antwort

Es lagert sich gerne Staub und ähnliches in der Lightning-Buchse ab. Den mal ordentlich entfernen - hat bei mir Wunder bewirkt.

...zur Antwort