[Fehlersuche] Datenbankeintrag anders, als Feldeintrag

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

  • [Fehlersuche] Datenbankeintrag anders, als Feldeintrag

    Hallo,
    suche jetzt schon einige Zeit an einem Fehler.
    Es sollten eigentlich nur 2 zufällig generierte Codes erzeugt werden, die jeweils in der DB, in der Session und im Formular ersetzt werden. Leider wird der Code in der Datenbank anders gespeichert, d.h. der bsw. per md5 gehaste Code ist nicht der selbe in der Datenbank.

    Ich habe den nicht gehashten Code mal per Hand gehasht und gesehen, dass ersetzte Code im Formular (self::assign....) korrekt ist.

    Vllt. kann mir ja jemand auf die Sprünge helfen und sieht meinen fehler.

    PHP-Code:
    /* Hash Werte genrieren */
    $array    = array('a''b''c''d''e''f''g''h''i''j''k'
    'l''m''n''o''p''q''r''s''t''u''v''w''x''y''z''0'
    '1''2''3''4''5''6''7''8''9');

    global 
    $set_comment_salt;
    for(
    $i=0$i<30$i++) {
        
    $key        .= $array[mt_rand(0count($array)-1)];
        
    $key_valid    .= $array[mt_rand(0count($array)-1)];
    }

    $key        md5($key);
    $key_valid    crypt($key_valid$set_comment_salt);
    $session    mysqli_real_escape_string($this->mysqlsession_id());

    $_SESSION["key_one"]    = $key;
    $_SESSION["key_two"]    = $key_valid;

    if(
    mysqli_num_rows(mysqli_query($this->mysql
    'SELECT * FROM schluessel WHERE session = "'.$session.'"')) == 0) {
        
    $insert mysqli_query($this->mysql
    'INSERT INTO schluessel (schluessel, schluessel_valid, session, time) 
    VALUES ("'
    .$key.'", "'.$key_valid.'", "'.$session.'", '.time().')');
        
    self::mysql_rollback($insert);
    }
    else {
        
    $update mysqli_query($this->mysql
    'UPDATE schluessel SET schluessel = "'.$key.'", schluessel_valid = "'.$key_valid.'", 
    time = '
    .time().' WHERE session = "'.$session.'"');
        
    self::mysql_rollback($update);
    }

    self::assign('key_one'$key);
    self::assign('key_two'$key_valid);
    // END 

  • #2
    der erzeugte code ist korrekt?
    wird auch überall im script korrekt verarbeitet? testausgaben belegen das?
    wie unterscheidet sich der code in der DB vom "Original"?

    Kommentar


    • #3
      Ja alles soweit korrekt. Der Inhalt in der DB ist einfach ein komplett anderer gehashter Code.

      Aber es muss daran liegen, dass dieser irgendwo im code neu erzeugt wird.

      Ich danke dir für deine Mühe.

      Kommentar


      • #4
        und ich dachte testausgaben wären standard.

        Kommentar


        • #5
          Naja Testausgaben habe ich doch auch gemacht. Waren ja identisch, nur in der datenbank wird ein anderer Code eingetragen.

          Aber ich denke werde ich mal weiter suchen müssen...

          Danke trotzdem für die aufgewendete Hilfe.

          Kommentar


          • #6
            hast du die query mal ausgegeben?

            Kommentar


            • #7
              Jap. Gleicher Code wie im Formularfeld und Session.

              Kommentar


              • #8
                du machst das schon, mit meinem halbwissen kann und will ich nicht helfen.

                Kommentar

                Lädt...
                X