Username in Datenbank ändern, klappt nit :-(

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Username in Datenbank ändern, klappt nit :-(

    Hi zusammen,

    hab mir nen Script zusammengeschustert um nen Benutzernamen der in meiner Datenbank eingetragen ist zu ändern.
    Es gibt ein Formular in dem man drei Felder ausfüllen muss: den alten Benutzernamen, den Neuen und das Passwort. Mein Problem ist nun, dass das nicht klappt. Das Passwort stimmt nicht mit dem aus der Datenbank überein (ie Fehlermeldung bekomme ich zumindest). Zur Information: In der Datenbank gibt es bisher nur einen User uns ein Passwort, also kann da schon mal nichts vertauscht seien. Hier ist mein Script:

    PHP-Code:
                        <?php if(!isset($_POST['submit'])) { ?>
                      <form action="<?php $PHP_SELF ?>" method="post">
                      <table width="350" border="0" align="center" cellpadding="2" cellspacing="4" class="normal">
                        <tr> 
                          <td align="right">alter Benutzername:</td>
                          <td><input name="olduser" type="text" id="olduser" size="30"></td>
                        </tr>
                        <tr> 
                          <td align="right">neuer Benutzername:</td>
                          <td><input name="newuser" type="text" id="newuser" size="30"></td>
                        </tr>
                        <tr> 
                          <td align="right">Passwort:</td>
                          <td><input name="password" type="password" id="password" size="30"></td>
                        </tr>
                        <tr align="center" valign="middle"> 
                          <td colspan="2"> 
                            <input type="submit" name="submit" value="Abschicken">
                            <input type="reset" value="Abbrechen">
                          </td>
                        </tr>
                      </table>
                      </form>
                      <?php
    }elseif(!isset($_POST['olduser']) || $_POST['olduser'] == ""){
    echo 
    '<p align="center">Bitte geben sie ihren alten Benutzernamen ein!<br><br><a href="config.php">Zur&uuml;ck</a></p>';
    }elseif(!isset(
    $_POST['newuser']) || $_POST['newuser'] == ""){
    echo 
    '<p align="center">Bitte geben sie einen neuen Benutzernamen ein!<br><br><a href="config.php">Zur&uuml;ck</a></p>';
    }elseif(!isset(
    $_POST['password']) || $_POST['password'] == ""){
    echo 
    '<p align="center">Bitte geben sie ihr Passwort ein!<br><br><a href="config.php">Zur&uuml;ck</a></p>';
    }else{
        
        
    $query = @mysql_query("SELECT user FROM users WHERE user = '".$_POST['olduser']."'");
        
    $result = @mysql_fetch_array($query);
        if(
    $_POST['olduser'] == $result['user']) {
                
    $query2 = @mysql_query("SELECT pass FROM users WHERE pass = MD5('".$_POST['password']."')");
                
    $result2 = @mysql_fetch_array($query);
                if(
    md5($_POST['password']) == $result['pass']) {
                    @
    mysql_query("UPDATE users SET user = '".$_POST['newuser']."' where user = '".$_POST['olduser']."'");
                    echo 
    '<p align="center">Ihr Benutzername wurde geändert!<br><br><a href="config.php">Zur&uuml;ck</a></p>';
                }else{
                    echo 
    '<p align="center">Ihr eingegebenes Passwort ist nicht korrekt! Bitte wiederholen sie ihre Eingabe!<br><br><a href="config.php">Zur&uuml;ck</a></p>';
                }
        }else{
            echo 
    '<p align="center">Sie haben den falschen alten Benutzernamen eingegeben!<br><br><a href="config.php">Zur&uuml;ck</a></p>';
        }
    }
    ?>
    Vorher wurde noch require("connect.inc.php") eingebunden um die Verbindung zur Datenbank herzustellen.

    Würde mich freuen wenn ihr meinen Fehler findet. Danke im Voraus, Tom
    Zuletzt geändert von TomFresh; 20.06.2003, 15:19.

  • #2
    is das pw auch mit MD5() gespeichert??

    Kommentar


    • #3
      haste mal die ganzen werte im klartext ausgegeben und "von hand" verglichen. sicher dass da kein wert leer, etc ist?

      Kommentar


      • #4
        also das Passwort ist definitiv mit MD5() gespeichert. Werd jetzt mal die Werte im Klartext ausgeben.

        Kommentar


        • #5
          ... und dann bitte posten, was rauskommt.

          Kommentar


          • #6
            alles klar, hab den Fehler jetzt gefunden. result ergab array als ausgabe und result2 = nichts. Hab dann result2 in result und query2 in query geändert und jetzt klappt es.
            danke und bis denn, Tom

            Kommentar


            • #7
              Naja, den Trick kannste ja mal merken. Wirste sicher das ein oder andere Post sparen können...

              Kommentar

              Lädt...
              X