Zwei Daten aus MySQL vergleichen?

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

  • Zwei Daten aus MySQL vergleichen?

    Hi@all,

    ich habe folgendes mir ausgedacht :
    Ich möchte das der User einen Usernamen und ein Passwort in ein Formular eingibt und das Skript soll dann testen ob der eingegbene User das eingegebene Passwort hat.

    Das soll kein "login" werden, sondern er soll einfach nur checken ob das passwort stimmt und dann die ausgabe machen: stimmt oder halt: stimmt nicht.

    kann mir da jemand vielleicht einen tipp geben

    mfg
    dominikoo

  • #2
    sag mir lieber mal wo der unterschied ist zu nem login ist! lass die weiterleitung in den geschützten Bereich weg, und gut ist.

    *verschieb* SQL

    SQL-Grundlagen wie SELECT und WHERE sind klar.

    Kommentar


    • #3
      naja, ein login ist noch komplizierter

      Ich habe nun versucht dort alles rauszunehmen, was ich für den vergleich nicht brauche ... allerdings sagt er nun immer das das passwort richtig war.
      Verstehe das nicht so ganz:

      PHP-Code:
      <?php
      include 'sessionhelpers.inc.php'
      if (isset(
      $_POST['submit'])) 

          
      $userid=check_user($_POST['username'], $_POST['userpass']); 
          if (
      $userid=false){ 
               
              echo 
      'Ihre Anmeldedaten waren nicht korrekt! <a href="adden2.php">zurück</a>'

                } else {


                 echo 
      'alles korrekt <a href="adden2.php">zurück</a>';
        }

        } else {

                          echo 
      "<form action=\"adden2.php\" method=\"post\">\n";

                      echo 
      "<p>Daten senden</p>\n";
                      echo 
      "      <label for=\"name\">Name</label>\n";
                      echo 
      "      <input type=\"text\" name=\"username\" id=\"username\" value=\"username\" /></li><li>\n";
                      echo 
      "      <label for=\"email\">Passwort</label>\n";
                      echo 
      "      <input type=\"text\" name=\"userpass\" id=\"userpass\" value=\"userpass\" /></li><li>\n";
                      echo 
      "      <input type=\"submit\" name=\"submit\" value=\"Benutzer hinzuf&uuml;gen\" />\n";
                      echo 
      "      <input type=\"reset\" name=\"submit\" value=\"Zur&uuml;cksetzen\" />\n";
              echo 
      "</form>\n";

                
                  
      ?>

      Die funktion user_check sieht wie gehabt so aus:

      PHP-Code:
      function check_user($name$pass

          
      $sql="SELECT UserID 
          FROM users 
          WHERE UserName='"
      .$name."' AND UserPass='".$pass."' 
          LIMIT 1"

          
      $resultmysql_query($sql) or die(mysql_error()); 
          if ( 
      mysql_num_rows($result)==1
          { 
              
      $user=mysql_fetch_assoc($result); 
              return 
      $user['UserId']; 
          } 
          else 
              return 
      false

      Wie sagt er nun, das das passwort immer richtig ist ... er müßte doch false ausgeben und laut if funktion anzeigen: passwort falsch ...
      was habe ich da übersehen?

      Kommentar


      • #4
        allerdings sagt er nun immer das das passwort richtig war
        kann ich nicht glauben!!
        PHP-Code:
        if ($userid=false){ 
        die Bedingung ist immer erfüllt.

        Kommentar


        • #5
          wofür überhaupt der ganze "geklaute" kram. schreibs halt schnell:

          PHP-Code:
          // Formular action = self

          Wenn post abgeschickt

          select all where username und passwort mit den eingaben übereinstimmt

          if(mysql_numrows != )
            
          das ist falsch
          else
            
          okay 

          Kommentar


          • #6
            stimmt, so ist es übersichtlicher, nun funktioniert das auch !

            Aber was mich störrt ist, das wenn man nur eimal den "back-button" benutzt, kann man das Formular nicht mehr nutzen! Es kommt dann immer wieder das Formular, egal wie oft man auf den submit button klickt !
            Irgendwie erkennt er danach das if (isset($_POST['submit'])) nicht mehr !

            Wenn man dann ins verzeichnis geht kommt soetwas:

            Method Not Implemented
            username=username&userpass=userpass&submit=Benutzer+hinzuf%FCgenGET to /login/ not supported.
            Invalid method in request username=username&userpass=userpass&submit=Benutzer+hinzuf%FCgenGET /login/ HTTP/1.1

            irgendwie geht da was schief
            Wenn ich mir andere Formulare im netz anschaue ... da kann man den vor-und zurückbutton nutzen. Dann gehen evt. Daten verloren, aber die formulare funktionieren

            Kommentar


            • #7
              wüsste auch nicht, warum es bei dir anders sei sollte. grund muss dein code/server/DU sein. mehr kann man nicht sagen!

              Kommentar

              Lädt...
              X