Ingid: Mysql und WHERE Klausel

Hallo Jungs,

ich hoffe doch ihr könnt mir weiterhelfen.
Ich habe eine Verbindung zu einer DB und einer darin befindlichen Tabelle aufgebaut, und möchte jetzt explizit nach dem Usernamen und den Passwort fragen.

In einem Formular übergebe ich mir den Usernamen und das Passwort.
Passwort ist im MD5 verschlüßelt.
Wie sollte die WHERE Klausel aussehen?

Ich bin hier am verzweifeln.

So sieht sie im Moment aus.
-------> Code <----------
...

$query = mysql_query ("SELECT * FROM _user WHERE username = '$username'");

...

Kann das sein das ich noch irgendwo einen Bock drin habe?
Wäre nett wenn mir einer weiterhelfen könnte.

Danke eure Ingrid

  1. Ahoi Ingid,

    $query = mysql_query ("SELECT * FROM _user WHERE username = '$username'");

    irgendwie ist mir dein problem nicht ganz klar, was funktioniert nicht
    oder falsch? heißt die tabelle wirklich _user? was hast du schon
    ausprobiert um den fehler zu beheben? was für eine fehlermeldung
    bekommst du? error_reporting auf e_all?

    fragen über fragen die nur du beantworten kannst.

    MfG

    --
    Alle Angaben wie immer ohne Gewähr
    \     \           /    /              \    \          /     /
     \     \         /    /                \    \        /     /
      \     /´¯.l.¯\    /                  \   /´¯.l.¯\     /
      |    l   .l.  (¯ '\                   /' ¯)  .l.   1    |
      l    l   .l.   \   \                 /   /   .l.   1    1
      l    l´¯.l´¯.l  \  '|               |'  /  1.¯´1.¯´1    1
      \                                                       /
  2. Hi

    Ich bin mir nicht sicher aber ich glabe du musst noch die DB Verbindung angeben.

    $link=mysql_connect(localhost,USER_NAME,PASSWORT);
    mysql_select_db("DATABASE",$link);
    $result= mysql_query("SELECT * FROM _user WHERE username='$username'", $link);

    Bei mir funktionierts jedenfalls so

    lg Daniel

    Hallo Jungs,

    ich hoffe doch ihr könnt mir weiterhelfen.
    Ich habe eine Verbindung zu einer DB und einer darin befindlichen Tabelle aufgebaut, und möchte jetzt explizit nach dem Usernamen und den Passwort fragen.

    In einem Formular übergebe ich mir den Usernamen und das Passwort.
    Passwort ist im MD5 verschlüßelt.
    Wie sollte die WHERE Klausel aussehen?

    Ich bin hier am verzweifeln.

    So sieht sie im Moment aus.
    -------> Code <----------
    ...

    $query = mysql_query ("SELECT * FROM _user WHERE username = '$username'");

    ...

    Kann das sein das ich noch irgendwo einen Bock drin habe?
    Wäre nett wenn mir einer weiterhelfen könnte.

    Danke eure Ingrid

    1. Hier ist mal der Code

      Was mach ich falsch? Helft einem kleinen Mädchen Jungs!
      Danke

      ......................
      <?
      $username = $_POST['username'];
      $password = md5($_POST['password']);

      include ('include/config.inc.php');

      $connect = mysql_connect ($host, $user, $password, $db);

      if (!$connect){
        die('Couldnt connect to Database. You can try it again or submit us a eMail.' . mysql_error ());
        }
      $select_db = mysql_select_db ('prz_', $connect);
      if (!$select_db) {
         die ('Couldnt use prz_ : ' . mysql_error());
      }

      $query = mysql_query ("SELECT * FROM _user WHERE username = '$username'");
      if (!$query) {
         die('Abfrage fehlgeschlagen:' . mysql_error());
      }
      $ergebnis = mysql_fetch_object ($query);

      if (($ergebnis->username == $username) && ($ergebnis->password == $password)){
        echo "User erfolgreich ausgewaehlt";
        }
      else {
        echo "Du willst hier rein? Nein du hast keinen Zugang.";
        }
       mysql_close($connect);
      ?>

      1. echo $begrüßung;

        $password = md5($_POST['password']);

        include ('include/config.inc.php');

        $connect = mysql_connect ($host, $user, $password, $db);

        Wenn du für die Zugangsdaten Konstanten nehmen würdest, hättest du keine Variablenbenennungskonflikt.

        echo "$verabschiedung $name";

  3. hi,

    In einem Formular übergebe ich mir den Usernamen und das Passwort.
    Passwort ist im MD5 verschlüßelt.

    das im formular vom user eingegebene passwort ...?
    nein, das vermutlich nicht.
    also das in der DB gespeicherte.

    Wie sollte die WHERE Klausel aussehen?

    die sollte das vom formular kommende passwort mit MD5 verschlüsseln (*), um dann diesen hash mit dem in der DB eingetragenen zu vergleichen.

    http://dev.mysql.com/doc/mysql/de/miscellaneous-functions.html

    (*) natürlich nach den üblichen sicherungsmaßnahmen, die man beim übernehmen von usereingaben in eine query immer durchführt.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. echo $begrüßung;

      die [WHERE-Klausel] sollte das vom formular kommende passwort mit MD5 verschlüsseln (*), um dann diesen hash mit dem in der DB eingetragenen zu vergleichen.

      http://dev.mysql.com/doc/mysql/de/miscellaneous-functions.html

      (*) natürlich nach den üblichen sicherungsmaßnahmen, die man beim übernehmen von usereingaben in eine query immer durchführt.

      Hmm, ich hätte ja jetzt die md5()-Funktion von PHP verwendet und mich darauf verlassen, dass deren Ergebnis nur "unschädliche" Zeichen sind ...

      Deine Fußnote muss aber auf alle Fälle bei $username berücksichtigt werden.

      echo "$verabschiedung $name";

      1. hi,

        Hmm, ich hätte ja jetzt die md5()-Funktion von PHP verwendet

        warum nicht die von mysql nehmen?

        und mich darauf verlassen, dass deren Ergebnis nur "unschädliche" Zeichen sind ...

        ja, davon darf man in diesem sonderfall wohl ausgehen.

        Deine Fußnote muss aber auf alle Fälle bei $username berücksichtigt werden.

        jepp.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. echo $begrüßung;

          Hmm, ich hätte ja jetzt die md5()-Funktion von PHP verwendet

          warum nicht die von mysql nehmen?

          Weil ich mir bei der von PHP den "Aufwand" der Maskierung sparen kann.

          echo "$verabschiedung $name";