Veröffentlicht 2. Oktober 200816 j hey leute. ichweiss nicht warum es nicht geht. ich möchte gerne, dass mein Passwort als MD5 Wert in der Datenbank steht. nur leider schreibt er es bei meinem Insert immer im Klartext rein. was ist hier falsch. sql("INSERT INTO user (nick, vor, nach, password, adminstatus) VALUES ('".$_POST['nick']."','".$_POST['vor']."', '".$_POST['nach']."', md5('".$_POST['password']."'),'".$_POST['admin']."')");
2. Oktober 200816 j Evtl könnte das daran liegen, dassl es nicht als Funktion interpretiert wird so wie du es schreibst. Ich gehe einfach mal von PHP aus. Lass PHP das einfach vor der Übergabe in die "POST-Variable" schon in einen MD5-Hash konvertieren und speicher diesen dann in der Datenbank.
2. Oktober 200816 j Hi, machs mal so: sql("INSERT INTO user (nick, vor, nach, password, adminstatus) VALUES ('".$_POST['nick']."','".$_POST['vor']."', ''".$_POST['nach']."', '".md5($_POST['password'])."','".$_POST['admin']."')"); [/PHP] Grüße, bytebrain
2. Oktober 200816 j danke schon mal. aber es funktioniert leider nicht. ich hab auch schon versucht den $_POST vorher in hash zu konvertieren. jedoch macht er dies auch nicht. ich versteh das nicht. muss wirklich an dem $_POST liegen da ich es mit klartexten hinbekomme, diese in die datenbank als hash zu schreiben komisch
2. Oktober 200816 j danke schon mal. aber es funktioniert leider nicht. ich hab auch schon versucht den $_POST vorher in hash zu konvertieren. jedoch macht er dies auch nicht. ich versteh das nicht. muss wirklich an dem $_POST liegen da ich es mit klartexten hinbekomme, diese in die datenbank als hash zu schreiben komisch Wie konvertiert man denn einen String in einen Hash :confused: String = Zeichenkette Hash = assoziatives Array Ich kann dir grad nicht folgen Grüße, bytebrain
2. Oktober 200816 j sql("INSERT INTO user (nick, vor, nach, password, adminstatus) VALUES ('".$_POST['nick']."','".$_POST['vor']."', ''".$_POST['nach']."', '".MD5($_POST['password'])."','".$_POST['admin']."')"); Dieser befehl müsste aber gehen. Speichert der das Passwort so wie es eingegeben wurde in die Datenbank? Oder macht der gar nichts? Kommt eine Fehlermeldung? Oder keine? Und noch ein kleiner tipp.. bei deinen sql befehl kann jeder der auch nur ein bisschen ahnung hat mysql injection verwenden. Darauf musst du auch achten das das keiner ausnutzt. Mfg Mike1990
2. Oktober 200816 j Was macht denn // DEBUG print md5("Hallo Welt"). "\n"; [/PHP] :confused: Wenn das auch nicht funzt steht dir die Funktion aus irgendwelchen Gründen nicht zur Verfügung. Grüße, bytebrain
2. Oktober 200816 j das funktioniert ja. ich hab es ja schon mal anderweitig gestet: $pass = "hallo"; $nick="timm"; sql("insert into user (nick, password) VALUES ('".$nick."', md5('".$pass."'))");[/PHP]
2. Oktober 200816 j das funktioniert ja. ich hab es ja schon mal anderweitig gestet: $pass = "hallo"; $nick="timm"; sql("insert into user (nick, password) VALUES ('".$nick."', md5('".$pass."'))");[/PHP] Und das hat funktioniert??? Dann mach halt $pass = md5($_POST['passwort']); Grüße, bytebrain Edit: Das funzt bei mir wunderbar: [PHP] $str1 = "string"; $str2 = md5("Hallo Welt"); $sql = "INSERT INTO `table` (`value1`, `value2`) VALUES('$str1', '$str2');"; print $sql. "\n"; Bearbeitet 2. Oktober 200816 j von bytebrain
2. Oktober 200816 j ja, das funzt auch super bei mir, nur eben nicht wenn ich das post da reinnehme. nur dann nicht. ganz komisch
2. Oktober 200816 j evtl. ein utf8 Problem ? wenn dein post als utf8 kommt, der md5 den aber nicht verträgt ? (geraten, nicht getestet)
2. Oktober 200816 j ja, das funzt auch super bei mir, nur eben nicht wenn ich das post da reinnehme. nur dann nicht. ganz komisch Dann lass das POST eben raus, ist eh sicherer. Also ... $user = mysql_real_escape_string($_POST["user"]); $pass = mysql_real_escape_string($_POST["passwort"]); $sql = "insert into user (user, pass) values ($user, md5('$pass'))"; ... [/PHP] siehe PHP: mysql_real_escape_string - Manual
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.