Loading...   Upload Image

problem mit passwort ändernForum » Webzone » PHP & MySQL » problem mit passwort ändern

Neues Thema verfassen Neues Thema

  • rapidhunterUser ist offline
    Newbie



    Registriert: 27.01.2012
    Beitraege: 15

    07.03.2012 um 16:20 Uhr

    hallo,

    ich habe mal wieder ein problem und hoffe ihr könnt mir weiterhelfen. ich habe ein loginscript mit neuen benutzer anlegen und passwort vergessen funktion aber ich bekomm es einfach nicht hin das man sein passwort wenn man eingeloggt ist ändern kann.

    hier mal der code für die passwort ändern seite:

    <?php include ("../include/header.php"); ?>
    <?php if(!isset($_SESSION['user_id'])) { ?>
    <?php
    }
    else if ( false===($errors=validateInput()) ) {
        
        $queryParms['user_id'] = mysql_real_escape_string($_SESSION['user_id']);
        $queryParms['oldPW'] = md5($_POST['oldPW']);
        $queryParms['newPW'] = md5($_POST['newPW']);
        
        $query = "UPDATE benutzerdaten SET passwort='".md5($queryParms['newPW'])
                ."' WHERE id='".$queryParms['user_id']
                ."' AND passwort='".md5($queryParms['oldPW'])."'";
        mysql_query($query) or die('Fehler beim Eintragen der neuen Werte');
        
        if (1!=mysql_affected_rows())
        {
            $errors = array();
            $errors['oldPW'] = 'Ihr altes Passwort stimmt nicht';
        }
        else
            echo 'Passwort wurde geändert';
    }
    
    if (false!==$errors) { ?>
            <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
                <table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
                  <tr>
                    <td bgcolor="#e7e7e7" align="center" colspan="2">
                        &Auml;ndern des Passwortes für Benutzer <?php echo $_SESSION['user_id']; ?>
                    </td>
                  </tr>
                  <tr>
                    <td width="170" bgcolor="#e7e7e7">bisheriges Passwort</td>
                    <td width="230" bgcolor="#ffffff">
                        <input type="password" name="oldPW" size="20" class="input" />
                        <?php if (isset($errors['oldPW'])) echo '', $errors['oldPW']; ?>
                    </td>
                  </tr>
                  <tr>
                    <td width="170" bgcolor="#e7e7e7">neues Passwort</td>
                    <td width="230" bgcolor="#ffffff">
                        <input type="password" name="newPW" size="20" class="input" />
                        <?php if (isset($errors['newPW'])) echo '
    ', $errors['newPW']; ?>
                    </td>
                  </tr>
                  <tr>
                    <td width="170" bgcolor="#e7e7e7">neues Passwort wiederholen</td>
                    <td width="230" bgcolor="#ffffff">
                        <input type="password" name="repeatPW" size="20" class="input" />
                        <?php if (isset($errors['repeatPW'])) echo '
    ', $errors['repeatPW']; ?>
                    </td>
                  </tr>
                  <tr>
                    <td bgcolor="#e7e7e7" align="center" colspan="2">
                        <input type="submit" name="submit" value="Anmelden" class="button" />
                    </td>
                  </tr>
                </table>
            </form>
    <?php
    }
    
    
    function validateInput()
    {
        if ( !isset($_POST['oldPW']) || !isset($_POST['newPW']) || !isset($_POST['repeatPW']) )
            return array();
    
        $retval = array();    
        if(5 > strlen($_POST['newPW']))
            $retval['newPW'] = 'Das Passwort ist zu kurz';
        
        if($_POST['newPW'] !== $_POST['repeatPW'])
            $retval['repeatPW'] = 'Die "Wiederholung" des Passwortes unterscheidet sich von der ersten Eingabe';
    
        return (empty($retval)) ? false : $retval;
    }
    ?>


    in der ersten zeile ist der header include. darin sind die dateien für die verbindung zur datenbank und zur session user_id.

    Wenn ich jetzt das passwort ändern will dann bekomm ich ständig das ich bei dem alten passwort ein falsches angegeben habe was aber nicht der fall ist!!

    mfg



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    07.03.2012 um 20:27 Uhr

    Hallo,

    warum du berechnest den MD5-Hash von $queryParms['oldPW'] doppelt und zwar in Zeile 8 sowohl als auch in Zeile 13? ;)

    Reicht einmal nicht?

    Liebe Gruesse
    Alice



    ... { signatur } ...

[ 1 ] Seite 1 von 1


Affiliates:   Blue-Graphics  •   Gallery Yuri  •   The Seduction  •   Chibi Graphics  •   Design Grafixx  •   Colorful Gfx  •   Pat DG  • Show all ...
designenlassen.de - Der Design-Marktplatz für Webdesign, Logo-Design, Flyerdesign u.v.m.        ALL-INKL.COM - Webhosting Server Hosting Domain Provider