Hallo Cryptic,
Achja Programmieren ist schon lustig
Wenn die Zeilen, über die du klagst, genau so aussehen wie Du sie hier hinschreibst, ist das alles andere als lustig. Wenn der nächste Absatz für Dich redundant ist, dann ignoriere ihn…
Ein SQL_Fragment WHERE name = $_POST['blabla']
funktioniert nicht, weil man beim String-Parsing (oder Variable-Parsing) einen Array-Schlüssel nicht in Anführungszeichen setzen darf, Doku hier. Wenn überhaupt, müsste es WHERE name = $_POST[blabla]
sein. Aber auch das darf es nicht sein, weil man vom User empfangene Daten nicht blindlings in ein SQL einsetzen darf. Man muss den Kontextwechsel beachten und entsprechende Maskierungsfunktionen benutzen (mysqli_real_escape_string oder die quote-Methode in PDO), oder prepared statements (in MYSQLI, in PDO) verwenden.
Password_hash ... da ja der Hash nicht doppelt existieren kann
Kommt drauf an - wenn Du das Salt manuell vorgibst, schon. Aber das ist nicht Sinn der Sache, ein zufälliges Salt ist sicherer.
Die Lösung sieht anders aus: Man erstellt den Hash mit password_hash und überprüft ihn mit password_verify
Rolf
sumpsi - posui - obstruxi