ronny: vergleiche

hallo, vielleicht kann mir hier jemand helfen.
hab kaum ahnung von php, würde aber gern gewisse seiten für verschiedene user zugänglich machen. sicher lässt sich das mit htaccses lösen, aber da ich eine datenbank habe, denke ich, es ist sicherer und am ende evtl. einfacher mit php zu lösen. nur leider bekomme ich das script nicht hin, da ich es absolut nicht hinbekomme, die datenbank abzufragen, den namen der eingeben wurde rauszusuchen und dann zu vergleichen ob das eingegebene passwort auch dazu passt.

also wenn name=test1 dann muss pw=test1PW sein und name2=test2 dann pw2 =test2PW......u.s.w. (bei 2 usern noch einfach, aber wenns zum beispiel hundert sind, wäre eine schleife oder sowas doch sinnvoller oder?

könnte mir da evtl. jemand helfen und nen tutlink oder ein script posten?

danke....
mfg ronny

  1. hallo, vielleicht kann mir hier jemand helfen.
    hab kaum ahnung von php, würde aber gern gewisse seiten für verschiedene user zugänglich machen. sicher lässt sich das mit htaccses lösen, aber da ich eine datenbank habe, denke ich, es ist sicherer und am ende evtl. einfacher mit php zu lösen. nur leider bekomme ich das script nicht hin, da ich es absolut nicht hinbekomme, die datenbank abzufragen, den namen der eingeben wurde rauszusuchen und dann zu vergleichen ob das eingegebene passwort auch dazu passt.

    also wenn name=test1 dann muss pw=test1PW sein und name2=test2 dann pw2 =test2PW......u.s.w. (bei 2 usern noch einfach, aber wenns zum beispiel hundert sind, wäre eine schleife oder sowas doch sinnvoller oder?

    könnte mir da evtl. jemand helfen und nen tutlink oder ein script posten?

    hi,

    ich würde es so machen:

    switch ($name) {
        case "george":   echo "hi george";
                         break;
        case "john":     echo "hi george";
                         break;
        case "ringo":    ...
    }

    statt dem echo machst du natürlich den pw-test.

    grüssle
    bjoern

    1. vielen dank euch allen. hat mir wirklich geholfen, funktioniert auch alles super ;) mit dem MD5 hab ich mich vorhin belesen. werds auch einbauen...danke

  2. Hallo,

    also wenn name=test1 dann muss pw=test1PW sein und name2=test2 dann pw2 =test2PW......u.s.w. (bei 2 usern noch einfach, aber wenns zum beispiel hundert sind, wäre eine schleife oder sowas doch sinnvoller oder?

    könnte mir da evtl. jemand helfen und nen tutlink oder ein script posten?

    Ich gehe jetzt mal von PHP/MySQL aus:

    // $username und $password müssen gesetzt sein.

    $query = "select * from users where username = '$username' and password = '$password'";

    $my_result = mysql_query ($query);
    if (!$my_result) {
      // fehlerbehandlung interner fehler
    }
    if (mysql_num_rows ($my_result) == 1) {
      // alles ok
      $arr = mysql_fetch_array ($my_result);
      // $arr enthält jetzt die Benutzerdaten
    } else {
      // benutzername / passwort falsch
    }

    Die MySQL-Tabelle müsste so aussehen (als SQL-Statement):

    CREATE TABLE users (
      userid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
      username VARCHAR(32) NOT NULL UNIQUE,
      password VARCHAR(32) NOT NULL,
      -- sonstige Felder
    );

    Für einen Benutzer bräuchtest Du eine Benutzerverwaltung oder Du musst manuelle Inserts/Updates laufen lassen, à la:

    INSERT INTO users (username, password, sonstwas) values ('benutzername', 'passwort', sonstwas);

    oder

    UPDATE users set password = 'neues passwort' where username = 'benutzername';

    Grüße,

    Christian

    1. [...] where username = '$username' and password = '$password'";

      Paßwörter in Klartext abzuspeichern, halte ich für recht bedenklich. md5() ist das mindeste, was man bei einer datenbankbasierten Authentifizierung der Sicherheit zuliebe tun sollte.

      1. Hi,

        [...] where username = '$username' and password = '$password'";

        Paßwörter in Klartext abzuspeichern, halte ich für recht bedenklich. md5() ist das mindeste, was man bei einer datenbankbasierten Authentifizierung der Sicherheit zuliebe tun sollte.

        Schon klar. Aber ich habe schon MySQL-Datenbanken erlebt, die md5 nicht konnten und mache das daher in PHP. Außerdem wollte ich ihm nur einen Anstoß geben, wie man so was ungefähr macht.

        Grüße,

        Christian

        1. ich habe schon MySQL-Datenbanken erlebt, die md5 nicht konnten

          Ich hab ehrlich gesagt noch keine gesehen, die einen 32stelligen string nicht abspeichern konnte... SCNR