SQL Login Problem

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

  • SQL Login Problem

    Hallo Leute,

    habe dieses Script von ich glaube Free2Code.net aber es basierte normal auf der PEAR Class...
    Da ich aber die ADODB Class verwende musste ich ein bisl umstrukturieren...
    Es funktioniert alles bis auf das er das Passwort nie annimmt habe bereits in der Datenbank einen default wert hinterlegt (z.B.) "1234" und trotzdem sagt er immer das Passwort wäre falsch wobei er den Benutzernamen findet ?!?

    Hat jemand nen Tip ?

    Hier der Code:


    PHP-Code:
    <?php

    if (isset($_POST['submit'])) { // if form has been submitted


        /* check they filled in what they were supposed to and authenticate */
        
    if(!$_POST['uname'] | !$_POST['passwd']) {
            die(
    '<center><font face="verdana">Bitte füllen Sie alle Felder aus.</font></center>');
        }

        
    // authenticate.

        
    if (!get_magic_quotes_gpc()) {
            
    $_POST['uname'] = addslashes($_POST['uname']);
        }

        
    $check $db_object->Execute("SELECT T_USER.A_USERNAME, T_USER.A_PASSWORT FROM T_USER WHERE T_USER.A_USERNAME = '".$_POST['uname']."'");

        if (
    $check->numRows() == 0) {
            die(
    '<center><font face="verdana">Dieser User existiert leider nicht in der Datenbank.</font></center>');
        }

        
    $info $check->FetchRow();

        
    // check passwords match

        
    $_POST['passwd'] = stripslashes($_POST['passwd']);
        
    $info['password'] = stripslashes($info['password']);
        
    $_POST['passwd'] = md5($_POST['passwd']);

        if (
    $_POST['passwd'] != $info['password']) {
            die(
    '<center><font face="verdana">Falsches Passwort, bitte geben Sie Ihr Passwort erneut ein.</font></center>');
        }

        
    // if we get here username and password are correct, 
        //register session variables and set last login time.

        
    $date date('m d, Y');

        
    $_POST['uname'] = stripslashes($_POST['uname']);
        
    $_SESSION['username'] = $_POST['uname'];
        
    $_SESSION['password'] = $_POST['passwd'];
        
    $db_object->disconnect();
    ?>
    -> It`s good to be bad! <-

    http://de.php.net
    http://php-faq.de
    http://www.schattenbaum.net
    http://www.dreamcodes.com

  • #2
    Re: SQL Login Problem

    wo-wir-sehen-könne-ergebnisse-deines-bisherigen-debuggings ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Thema debugging:

      Anfangen würde ich mal damit, mir die Variable $info['password'] ausgeben zu lassen ... könnt fast wetten, dass die leer ist
      [color=red]Geht nicht[/color] ist keine Fehlermeldung

      Kommentar


      • #4
        $check = $db_object->Execute("SELECT T_USER.A_USERNAME,
        T_USER.A_PASSWORT FROM T_USER WHERE T_USER.A_USERNAME = '".$_POST['uname']."'");

        $info = $check->FetchRow();

        $info['password'] = stripslashes($info['password']);

        fällt dir irgendwas auf wenn Du mal die Index benennung beachtest?
        Ausserdem is das mit deinem md5 mal schön umständlichgehalten...
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          @big chief was ne scheiss signatur
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Kommentar


          • #6
            selbst wenn ich:

            PHP-Code:
            $check $db_object->Execute("SELECT T_USER.A_USERNAME, 
            T_USER.A_PASSWORT FROM T_USER WHERE T_USER.A_USERNAME = '"
            .$_POST['uname']."' AND T_USER.A_PASSWORT = '".$_POST['passwd']."'"); 
            bringt es nix
            -> It`s good to be bad! <-

            http://de.php.net
            http://php-faq.de
            http://www.schattenbaum.net
            http://www.dreamcodes.com

            Kommentar


            • #7
              Du hast null Durchblick, wie? wo isn jetzt dein MD5 geblieben?
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar


              • #8
                Das war ja auch nur der kleine Teil der abfrage den ich gepostet hatte mehr nicht..... ergo würde der rest mit der md5 verschlüsselung darunter stehen.

                Verstehe echt nich wo das Problem so wirklich liegt, über post_uname krieg ich doch auch den richtigen wert und er macht es ja auch...

                Genau MelloPie soviel durchblick habe ich nicht, deswegen frage ich ja
                -> It`s good to be bad! <-

                http://de.php.net
                http://php-faq.de
                http://www.schattenbaum.net
                http://www.dreamcodes.com

                Kommentar


                • #9
                  @BigChief Du änderst umgehend Deine Signatur ab, oder ich mache das für Dich!
                  h.a.n.d.
                  Schmalle

                  http://impressed.by
                  http://blog.schmalenberger.it



                  Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                  ... nur ohne :-)

                  Kommentar


                  • #10
                    Original geschrieben von schmalle
                    @BigChief Du änderst umgehend Deine Signatur ab, oder ich mache das für Dich!
                    hab ich was verpaßt? die schleppt er doch schon wochenlang mitrum?
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #11
                      Original geschrieben von derHund
                      hab ich was verpaßt? die schleppt er doch schon wochenlang mitrum?
                      Ich sehe es zu ersten mal ...
                      h.a.n.d.
                      Schmalle

                      http://impressed.by
                      http://blog.schmalenberger.it



                      Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                      ... nur ohne :-)

                      Kommentar


                      • #12
                        ok mal ganz von vorne wie steht dein Passwort in der DB Tabelle?
                        md5 veschlüsselt?
                        dann muss Deine Query a
                        So dann wenn deine Query nach A_PASSWORT fragt dann steht nach

                        $info = $check->FetchRow();
                        Dein Password sicher nicht in $info['password'] sondern in
                        $info['A_PASSWORT']
                        Beantworte nie Threads mit mehr als 15 followups...
                        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                        Kommentar


                        • #13
                          oder einfach das Feld in "password" umbenennen ...

                          mehr nicht ?

                          wenn nein, dann habe ich schon wieder ne blöde frage gestellt... grml
                          -> It`s good to be bad! <-

                          http://de.php.net
                          http://php-faq.de
                          http://www.schattenbaum.net
                          http://www.dreamcodes.com

                          Kommentar


                          • #14
                            Jetzt geht mir ein lich auf....

                            wenn das gepostete passwort also ungleich dem passwort der Datenbank ist, kommt die meldung die ich festgelegt habe...

                            PHP-Code:
                            if ($_POST['passwd'] != $info['A_PASSWORT']) {
                                    die(
                            '<center><font face="verdana">Falsches Passwort, bitte geben Sie Ihr Passwort erneut ein.</font></center>');
                                } 
                            Habe auch nun die variable "password" durch "A_PASSWORT" ersetzt damit dies mit dem von mir angelegten feld in der Interbase Datenbank synchron ist...

                            Und dennoch PW falsch.

                            Habe danach wiederum dem Feld A_PASSWORT in der DB einen standard wert von "1" vergeben was ja eigentlich zum testen reicht... Aber gleiche Problem und selber fehler....
                            -> It`s good to be bad! <-

                            http://de.php.net
                            http://php-faq.de
                            http://www.schattenbaum.net
                            http://www.dreamcodes.com

                            Kommentar


                            • #15
                              mal ein tip zum debuggen : print_r()
                              und damit Du nicht fragst:
                              echo '<pre>';print_r($info);
                              Beantworte nie Threads mit mehr als 15 followups...
                              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                              Kommentar

                              Lädt...
                              X