PHP - Passwort verschlüsseln mit hash()

01/17/2018 19:10 InternetRambo#1
.
01/18/2018 10:55 Guron#2
Zu aller erst einmal: Bitte umschließe deinen Code mit dem PHP Tag, damit wir einen besseren Überblick haben.

Deine Struktur ist extrem schlecht, unübersichtlich und fehlerhaft. Arbeitest du in der Schule oder zuhause am PC? Ich würde auf's erstere tippen, denn du hast zwei geschweifte Klammern für deine if clause vergessen, die aber offenbar keine Fehlermeldung verursacht haben. Dies ist deiner Struktur zu verschulden, bitte ändere sie!

Ich habe deinen Code verbessert und die Fehler weggemacht. Die Verschlüsslung funktioniert problemlos. Wahrscheinlich wurde die Verschlüsslung mit Buchstaben nicht akzeptiert, weil du deine if Abfragen nicht richtig beendet hast. Und bitte gewöhne dir elseif und Einrücken an.

PHP Code:
if(empty($mPW1) || empty($mPW2)){
    echo 
"Sie haben in mindestens ein Feld kein Passwort eingegeben!";
} elseif(
$hashed1 == $hashed2) {
    if (
mysqli_connect_errno() <> 0){ 
        echo 
"<h2>Keine Datenbankverbindung</h2>";
    } else {
        
$mSQL "SELECT * FROM schueler WHERE idSchueler = '$mID'";
        
//echo "$mSQL";
        
$abfrageErgebnis $dbVerbindung->query($mSQL);
        
$aktuelleZeile $abfrageErgebnis->fetch_object();
        if(
$abfrageErgebnis->num_rows!=0){
            
$mSQL "UPDATE `mydb` . `schueler` SET `Passwort`='$hashed1' WHERE `idSchueler`='$mID'";
            
//echo "$mSQL";
            
if ($dbVerbindung->query($mSQL)==TRUE)
            {
                echo 
"Ihr Passwort wurde erfolgreich geändert!";
            }
        }
    }

01/18/2018 15:02 InternetRambo#3
.
01/18/2018 16:53 algernong#4
Quote:
Originally Posted by Prinzt1 View Post
Ja ich habe nur den notwendigen Code reingemacht (war mein erster Thread).

Also ich habe es auch mit deinem Code probiert und es geht immer noch nicht. Habe es zuerst mit dem Passwort "1u1u1" probiert, funktioniert und wenn ich das Passwort zu "u1u1u" umbenenne dann funktioniert es wieder nicht (ich vermute sehr stark es liegt an den Buchstaben am Anfang und am Ende).

Hab es auch schon mit der Methode password_hash() und md5() versucht und es läuft aufs gleiche hinaus.

Vielen dank trotzdem :)
Nee, dem Hash sieht man ja gar nimmer an, ob dein Passwort mit einer Zahl oder einem Buchstaben beginnt.

Was genau heißt denn "funktioniert nicht"? Klappt alles bis auf das UPDATE Query?
Gibt das Query einen Fehler? Passiert einfach nichts? Gib dir das Query doch mal aus und kopier es bei phpmyadmin rein (oder so), funktioniert es dann?
Wenn es nicht funktioniert und keinen Fehler ausgibt, poste mal deine DB + Query.
01/18/2018 18:31 InternetRambo#5
.