ein einfacher if-satz und ich hab keine ahnung

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

  • ein einfacher if-satz und ich hab keine ahnung

    hallöchen,
    bin ein anfänger in sachen php und bin gerade in einer testphase. ich möchte ein login erstellen. login_name und login_pw werden in einem formular eingegeben und in diesen script dann wieder ausgelesen.
    dann sollen alle daten die zu diesen benutzer passen ausgelesen werden.
    das funzt ja auch noch. mein problem ist der if-satz zum schluss. wieso
    kommt bei mir immer falsch als antwort, obwohl in der 34. spalte meiner db mein login steht und in der 35. spalte meiner db mein passwort?

    PHP-Code:
        $login_name $HTTP_POST_VARS["name"];
        echo 
    $login_name."<br>";
        
    $login_pw $HTTP_POST_VARS["passwort"];
        echo 
    $login_pw."<br><br>";
        
    $host "server";
        
    $user "root";
        
    $pwd "";
        
        
    $db "tabkun";
        
    $verb mysql_connect($host$user$pwd);
        
    mysql_select_db($db$verb);
        
    $sql "SELECT * FROM kunde where login='$login_name' && passwort='$login_pw'";    
        
    $erg mysql_query($sql$verb);
          while(
    $zeile mysql_fetch_row($erg))
        {
        for(
    $i=0$i mysql_num_fields($erg); $i++)
        {
        echo 
    "$i : $zeile[$i]<br>";
        }
        }
        
        if (
    $login_name==$zeile[34] && $login_pw==$zeile[35]))
        {
        echo 
    "richtig";
        }
        else
        {
        echo 
    "falsch";
        } 

  • #2
    hast du dir die Variablen $zeile[34] und $zeile[35] mal ausgeben lassen ?? stehen die richtigen Daten drin ??

    while($zeile = mysql_fetch_row($erg))
    {
    for($i=0; $i < mysql_num_fields($erg); $i++)
    {
    echo "$i : $zeile[$i]<br>";
    }
    }

    die while schleife is auch irgendwie unsinnig der name, mit dem sich authentifiziert wird sollte schon eindeutig sein!

    gruss

    Kommentar


    • #3
      stimmt du hast ja recht, aber ich hab so meine probleme mit assoziativen arrays. ich weiss nicht wie ich meine daten der datenbank mit diesen ausgeben lassen kann. einfach zu blöd. für hilfe wäre ich dankbar.

      aber die variablen $zeile[34] und $zeile[35] haben jeweils den loginnamen und das passwort drin stehen.

      Kommentar


      • #4
        http://www.php.net/manual/de/functio...etch-array.php damit kannst du direkt die Spaltennamen abfragen und kannst dir die Zahlen "sparen".

        Kommentar


        • #5
          danke, hab meine schreife geändert, ist jetzt alles viel logischer. aber es zeigt mir immer noch falsch an, obwohl ich jetzt auch den vergleich mit den assoz. array mache.
          weisst du einen rat?

          PHP-Code:
              $login_name $HTTP_POST_VARS["name"];
              echo 
          $login_name."<br>";
              
          $login_pw $HTTP_POST_VARS["passwort"];
              echo 
          $login_pw."<br><br>";
              
              
          $host "server";
              
          $user "root";
              
          $pwd "";    
              
          $db "tabkun";
              
              
          mysql_connect($host$user$pwd) or die("Keine Verbindung möglich");
              
          mysql_select_db("tabkun");    
              
          $erg mysql_query("SELECT * FROM kunde where login='$login_name' && passwort='$login_pw'");
              
                while(
          $erg_zeile mysql_fetch_array($ergMYSQL_ASSOC))
              {
              
          printf ("%s <br> %s <br> %s <br>",$erg_zeile["id"],$erg_zeile["login"],$erg_zeile["passwort"]);
              }
              
              if (
          $login_name==$erg_zeile["login"] && $login_pw==$erg_zeile["passwort"])
              {
              echo 
          "richtig";
              }
              else
              {
              echo 
          "falsch";
              } 

          Kommentar


          • #6
            mach mal:
            if (($login_name==$erg_zeile["login"]) && ($login_pw==$erg_zeile["passwort"]))

            Kommentar


            • #7
              funzt nicht,zeigt mir immernoch "falsch" an!

              Kommentar


              • #8
                jetzt geht es, muste die if-abfrage nur in die while-schleife reinschreiben.
                besten dank.

                Kommentar

                Lädt...
                X