Einfache Passwortabfrage (Problem)

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

  • Einfache Passwortabfrage (Problem)

    Moien!

    und zwar wollte ich ein code schreiben der mehr zum rumexperimentieren dient. ich lese ein username und passwort ein das dann aus einer datenbank gesucht wird un bei fund wieder zurück gegeben wird. das funktioniert auch so weit. allerdings möchte ich das wenn ein falscher username oder passwort eingegeben wurde einfach eine ausgabe kommt das irgendwas falsch war. das funzt aber irgendwie nit. könnt ihr mal in meinem code schauen was genau ich falsch mache? ich denk es liegt an dem array da dort ja scheinbar irgendwas drin steht. ich hab aber keine ahnung wie ich das richtig abfrage. srry bin anfänger =)


    <?
    $benutzer = $_POST['username'];
    $kennwort = $_POST['passwort'];


    error_reporting(E_ALL);
    define('MYSQL_HOST', 'localhost');
    define('MYSQL_USER', 'admin');
    define('MYSQL_PASS', '');
    define('MYSQL_DATABASE', 'admin_passwort');

    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());


    // !!!! MySQL Selection !!!!
    $sql = "SELECT user,pass from axx where user = '$benutzer' and pass = '$kennwort'";
    $result = mysql_query($sql);




    ##!!!!! Daten aus der Datenbank ausgeben, solange noch Daten im Array !!!!!!
    if(!$result)
    {
    echo "leer";
    }
    else
    {
    while($row = mysql_fetch_assoc($result))
    {
    echo " &gt; ".$row['user']." ";
    echo "Passwort: ".$row['pass']."<br />\n";
    }
    }

    ?>
    Warum einfach wenns auch umständlich geht?!

  • #2
    schonmal was von PHP-Tags gehört?!
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      Re: Einfache Passwortabfrage (Problem)

      1. Regeln lesen, Code lesbar posten.

      2. Beim Einfügen von externen Daten in eine Query diese unbedingt gegen (Stichwort) SQL Injection absichern.

      3. Über den Rückgabewert von mysql_query im Manual informieren, und Aufhören, falsche Schlüsse aus diesem zu ziehen.

      4. Nach erfolgreicher Abfrage Anzahl der Ergebnisdatensätze überprüfen, daraus korrekten Schluss ziehen.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Hier ist

        PHP-Code:

        <?php

        $mydb 
        mysql_connect ("localhost""root""pass");
        if (! 
        $mydb) die ("Keine Verbindung zum Datenbankserver");
                    
        if (! 
        mysql_select_db("el000064_rklinz"$mydb)) die ("Die Datenbank ist derzeit nicht verfügbar");


                
        $login$_POST["benutzer"];
                
        $pass$_POST["passwort"];
                
        if (isset(
        $_POST["benutzer"]) && isset($_POST["passwort"]))
                {
        $sql "SELECT * FROM benutzer WHERE login='$login' AND pwd='$pass'";
            
        $rs mysql_query ($sql);    
                
        $aZeile mysql_fetch_array($rs);
                if (
        $aZeile['login'] =="")
                {
                
        $antwort="Falsche Angaben bitte wiederholen!";
                }    
            else
            {
            echo 
        "Bin drinnen";
            }
            }
        ?>

        Kommentar


        • #5
          1. Passwörter nie als Klartext abspeichern, sondern gehasht. Siehe md5() und sha1() im Manual.

          2. Zur Ermittlung der Datensatzanzahl mal mysql_num_rows() ansehen.
          Nieder mit der Camel Case-Konvention

          Kommentar

          Lädt...
          X