Nee, das was du da beschreibst, nenne ich nicht mehr Loginskript, das ist ja schon eine komplette Nutzerverwaltung. Ich dachte aber, der Login allein passt hier recht schön, um zu zeigen, wie man heutzutage (ungefähr) mit den Passwörtern speziell und der Sicherung allg. umgeht. Und ein Login ist immer noch eines der kürzesten Formulare, da nur zwei Werte (mit Dauerlogin drei) verarbeitet werden.
Zeile 11: Ups, ok
Was schlägst du vor? !isset() ?
Zeile 25: Kann sein, aber so ist es kürzer, da man kein assoziatives Array übergeben muss. Und da nur ein Wert kommt, kann man auch nichts durcheinander bringen. Deswegen mit ?
Zeile 28: OK, dann gucke ich mal, wie ich die Userprüfung umbaue
Zeile 36: Das hängt ja mit mit Z. 28 zusammen, ich bin davon ausgegangen, dass auch ein Fehler kommt, wenn nix gefunden werden kann
Zeile 43: beginTransaction deshalb, weil rollBack nur geht, wenn vorher ein beginTransaction durchgeführt wurde. Und ich habe in Zeile 48 ein rollBack, damit lieber das nicht aufgewertete, komplette PW als ein aufgewertetes, halbes PW drinsteht. Denn ersteres funktioniert bei verify noch, letzteres nicht mehr.
Zeile 46: Inwiefern die Select query umbauen? Wenn man die SELECT query umbaut, zB andere Spaltennamen, muss man das ja bei update auch machen. Und dann kann man noch kurz bei update die Platzhalternamen mit ändern, und es geht wieder, oder?
$data ist ja ein ass. Array, mit Spaltennamen als Schlüssel und Zelleninhalt als Wert. Dh, wenn man den Spaltennamen als Platzhalter wählt, klappt das mit $data eigentlich immer, imho.
Zeile 56: Nun denn, dann kann man das mit der neuen Nutzerprüfung zusammen legen.
Session: ist nicht so schlimm, aber ich finde es einfach angenehmer, und ist auch leichter zu prüfen und schwerer zu manipulieren. Wenn man immer nur ein if(session) fährt, ist egal, was mitgeliefert wird, es wird immer auf true oder false runtergebrochen, aber sobald man werte prüfen will, müssen diese auch sanitized werden. Oder habe ich da nen Denkfehler?
Idee, zu prüfen: Wie läuft es eigentlich, wenn man zB selbst eine Funktion baut und diese in die Session setzt? Wird dann bei if($session) die Funktion ausgeführt?
Wenn die $session zB ein
function() {
echo $dbpass;
}
ist, ist dass ja immer noch true, wird das dann aber auch ausgeführt?
$pdo = null beendet einfach die PDO DB-Verbindung, ich bin ordentlich 