Passwort in Mysql-Datenbank ändert sich nicht

  • Passwort in Mysql-Datenbank ändert sich nicht

    Hallo.

    Einen kurze Frage. Ich versuche ein Passwort in eine SQL-datenbank zu ändern. Aber irgendwas scheint nicht zu funktionieren. Die Variablen werden richtig übergeben. Hab ich schon geprüft. Die Datenbank wird auch angesprochen.

    Hier mal der Code:

    Quellcode

    1. if(isset($_POST["login"])) {
    2. $user_lesen = 'select `username`,`password`,`group` from `user` WHERE `username` = '.$_POST['username'].' AND `group` = "0"';
    3. $user = mysql_query($user_lesen);
    4. if($_POST['username'] !== "" && $_POST['pass_old'] !== "" && $_POST['pass1'] !== "" && $_POST['pass2'] !== "") {
    5. if ($_POST['pass1'] == $_POST['pass2']) {
    6. if ($_POST['pass_old'] !== $_POST['pass2']) {
    7. $user_einlesen = mysql_fetch_array($user);
    8. if ($_POST['pass_old'] == $user_einlesen[password]) {
    9. $query = 'UPDATE `user` SET `password`="'.$_POST['pass2'].'" WHERE `username`="'.$_POST['username'].'"';
    10. mysql_query($query);
    11. }else{
    12. echo "Das Passwort stimmt nicht.";
    13. }
    14. }else{
    15. echo "Das neue Passwort gleicht dem alten. Eine Änderung ist nicht notwendig.";
    16. }
    17. }else{
    18. echo "Das neue Passwort wurde nicht richtig wiederholt.";
    19. }
    20. } else {
    21. echo "Sie müssen alle Felder ausfüllen.";
    22. }
    23. }
    Alles anzeigen
  • du verwendest ja überall !== statt !=

    änder das mal um. Ansonsten füge noch an 2 Stellen Ausgaben hinzu

    Quellcode

    1. if(isset($_POST["login"])) {
    2. $user_lesen = 'select `username`,`password`,`group` from `user` WHERE `username` = '.$_POST['username'].' AND `group` = "0"';
    3. $user = mysql_query($user_lesen)or die(mysql_error());
    4. //....
    5. $query = 'UPDATE `user` SET `password`="'.$_POST['pass2'].'" WHERE `username`="'.$_POST['username'].'"';
    6. mysql_query($query)or die(mysql_error());
    7. //....
    8. } else echo "fehler: äußere IF";
  • Hab das Ganze mal ein wenig umgeschrieben, so daß man es auch lesen kann.
    Hab zudem in Zeile 50 ein echo eingefügt. Vielleicht hilft dir ja die Ausgabe auf die Sprünge.

    Quellcode

    1. if(isset($_POST["login"])) {
    2. $user_lesen = '
    3. SELECT `username`
    4. , `password`
    5. , `group`
    6. FROM `user`
    7. WHERE `username`='.$_POST['username'].'
    8. AND `group` = "0"
    9. ;';
    10. $user = mysql_query($user_lesen);
    11. if ($_POST['username'] == "") {
    12. echo "Sie müssen alle Felder ausfüllen.";
    13. } elseif ($_POST['pass_old'] == "") {
    14. echo "Sie müssen alle Felder ausfüllen.";
    15. } elseif ($_POST['pass1'] == "") {
    16. echo "Sie müssen alle Felder ausfüllen.";
    17. } elseif ($_POST['pass2'] == "") {
    18. echo "Sie müssen alle Felder ausfüllen.";
    19. } elseif ($_POST['pass1'] != $_POST['pass2']) {
    20. echo "Das neue Passwort wurde nicht richtig wiederholt.";
    21. } elseif ($_POST['pass_old'] == $_POST['pass2']) {
    22. echo "Das neue Passwort gleicht dem alten. Eine Änderung ist nicht notwendig.";
    23. } else {
    24. $user_einlesen = mysql_fetch_array($user);
    25. if ($_POST['pass_old'] != $user_einlesen['password']) {
    26. echo "Das Passwort stimmt nicht.";
    27. } else {
    28. $query = 'UPDATE `user` SET `password`="'.$_POST['pass2'].'" WHERE `username`="'.$_POST['username'].'"';
    29. echo $query;
    30. mysql_query($query);
    31. }
    32. }
    33. }
    Alles anzeigen