ok, für mich klang die erste Frage eher nach einer allgmeinen Abhandlung über das Thema,
nun suchst du nur konkrete Problemstellungen, da sind einfache Tutorials sicher geeigneter
ich programmiere selber im dem Bereich aktuell nicht, kann dir da nicht unbedingt konkret weiterhelfen,
aber nur ganz allgemein deinen Code und deine Aussagen betrachtet:
wieso 'pwmita' und 'pwmit', sind die nicht dasselbe?
wenn das die Daten vom ersten Request sind, dann sind die entweder da oder nicht, das kann man doch prüfen,
wo spielt dort die Session eine Rolle?
freilich macht es wenig Sinn, nur die User-Eingaben vom Request untereinander zu prüfen,
musst du nicht irgendwo aus der DB (oder eben der Session als Cache) das vorher bekannte Passwort zum Vergleich laden?