tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
248
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    matze1983 matze1983 ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    124
    Ich versuche, dass man das neue Passwort nur abspeichern darf, wenn das alte vorher korrekt eingegeben wurde. Mein Script sieht wie folgt aus
    PHP-Code:
    $passwort_db="$userpass=' ".md5($pass)." ' "

    if (isset(
    $_POST['gesendet']) )
    {
    if (
    $alt_passwort==$userpass)
    {
    ..
    // Datenbankabfrage
    }

     

  2. #2
    drucko drucko ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    244
    Wo genau liegt das Problem ? Sehe keine Frage in deinem Text
    PHP-Code:
    if(isset($_POST['gesendet'])){
      
    // altes PW aus DB holen
      
    $passwort_aus_db $row['passwort']; // o.Ä., wie es halt heisst bei dir
      
    if(md5($_POST['altes_passwort']) === $passwort_aus_db){
        
    $neues_passwort md5($_POST['neues_passwort']);
        
    // neues PW in DB schreiben
      
    }
      else{
        echo 
    'PWs stimmen nicht überein!';
      }

     

  3. #3
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Du kannst es auch in einer Abfrage regeln:
    PHP-Code:
    'UPDATE `…` SET `userpass`="'.md5($_POST['neues_passwort']).'" WHERE `userid`='.(int)$_POST['userid'].' AND `userpass`="'.md5($_POST['altes_passwort']).'"' 
    Mit der mysql_affected_rows()-Funktion prüfst du anschließend, ob der Datensatz geändert wurde (Rückgabewert 1).
     
    Markus Wulftange

  4. #4
    matze1983 matze1983 ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    124
    ja war schon spät, da hab ich wohl glatt die Frage vergessen
    Danke euch beiden.
    Ich werde beide ausprobieren, jedoch stecke ich noch in drucko's Lösung fest.


    @Drucko:Wie hast du dein $row ausgelesen?
    mit
    PHP-Code:
    mysql_fetch_arrayoder mysql_fetch_result 
    etc.?
    Bei mir ist
    PHP-Code:
    $resultmysql_query($query); 
    müsste ja deinem row entsprechen. Nur leider sagt er mir, dass mein altes PW nicht übereinstimmt.ICh vermute das er nicht ausliest.
    Geändert von matze1983 (12.12.07 um 12:47 Uhr)
     

  5. #5
    drucko drucko ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    244
    Hallo,
    hatte das nur so spontan hingeklatscht - ging von mysql_fetch_array() aus.
    Gumbos Variante ist aber besser, rate dir es so zu machen!
    MfG
     

  6. #6
    matze1983 matze1983 ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    124
    Nun ich ich dabei den Vorschlag von Gumbo zu realisieren jedoch wird mir ein Syntax fehler vorgeworfen, jedoch find ich ihn nicht.

    PHP-Code:
     $query="UPDATE `users` SET `userpass`= '".md5($_POST['neues_passwort'])."' WHERE usersession`='".mysql_real_escape_string(session_id())."' AND `userpass`='".md5($_POST['altes_passwort'])."'"
    Fehler:
    Code :
    1
    
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`=4a7d521bf92f63d458fa9a49db60be8f AND `userpass`='fc03f90dbfbc1

    und der Wert von mysql_affected_rows() beträgt -1, also kein Update.
    Weis jemand wo der Fehler in der Syntax liegt?
     

  7. #7
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Wenn die Abfrage so wie von dir genannt zusammensetzt wird, kann es gar nicht so solch einem Fehler kommen, da alle Zeichenkettenwerte in Anführungszeichen gesetzt sind.
     
    Markus Wulftange

  8. #8
    matze1983 matze1983 ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    124
    peinlich peinlich peinlich
    wo du es nochmal gesagt hast, bin ich alles noch par mal durchgegangen...
    es lag an einem " ` " jetzt funktioniert es auch.
    MfG
     

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 03.07.09, 11:13
  2. Post - Variablen & Vergleich
    Von schrenzor im Forum PHP
    Antworten: 2
    Letzter Beitrag: 21.07.05, 23:01
  3. Antworten: 2
    Letzter Beitrag: 09.06.04, 11:40
  4. Antworten: 0
    Letzter Beitrag: 01.06.04, 14:04
  5. Antworten: 2
    Letzter Beitrag: 15.08.02, 11:53