Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Login - Loggt sich immer mit dem ersten Benutzer ein

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Login - Loggt sich immer mit dem ersten Benutzer ein

    Hallo,
    ich habe ein Loginscript, der sich die Daten aus einer MySQL DB zieht.

    In der DB gibt es folgende Felder:

    - Name
    - PW
    - Abteilung
    - Email

    Und ich logge mich über ein ganz normales Anmeldeformular ein ( Name & PW)



    Der Fehler ist: Er loggt sich immer mit dem ersten User aus der Tabelle ein, egal ob der Benutzername & PW richtig oder falsch ist.


    PHP-Code:

    session_start();
    ?>

    <?php
    $verbindung 
    mysql_connect("localhost""user" "pw")
    or die(
    "Verbindung zur Datenbank konnte nicht hergestellt werden");
    mysql_select_db("bedarf") or die ("Datenbank konnte nicht ausgewählt werden");

    $username $_POST["username"];
    $passwort $_POST["password"];


    $abfrage "SELECT * FROM login";
    $ergebnis mysql_query($abfrage) or die ("Die Daten konnten nicht geladen werden");
    $row mysql_fetch_array($ergebnis); 



    if(
    $row-->pw == $passwort)
        {
        
    $_SESSION["username"] = $row[2];
        
    $_SESSION["abteilung"] = $row[4];
        
        echo 
    "
        <html>
         <head>
          <title>Überprüfung</title>
          <meta http-equiv='refresh' content='1; URL=uebersicht-antragsteller.php'>
        </head>
        <body>
        <p>Sie werden eingeloggt!</p>
        </body>
        </html>
        "
    ;  
        }
    else
        {
        echo 
    "Benutzername und/oder Passwort waren falsch. <a href=\"login.php\">Login</a>";
        }

    Gruß
    Matze


  • #2
    ähh ja das Script macht ja auch nix anderes als DB-Daten in die Session zu schreiben und ne schöne Ausgabe dazu

    das hier

    $row-->pw
    geht so oder so nicht und mit mysql_fetch_array erst recht nicht

    Kommentar


    • #3
      Habe ein fehler noch drin gefunden:

      Jetzt liest er die Daten auch als Array aus:

      PHP-Code:
      <?php
      session_start
      ();
      ?>

      <?php
      $verbindung 
      mysql_connect("localhost""user" "pw")
      or die(
      "Verbindung zur Datenbank konnte nicht hergestellt werden");
      mysql_select_db("bedarf") or die ("Datenbank konnte nicht ausgewählt werden");

      $username $_POST["username"];
      $passwort $_POST["passwort"]; // $passwort = md5($_POST["password"]);
      $abteilung $_POST["abteilung"];


      $abfrage "SELECT * FROM login";
      $ergebnis mysql_query($abfrage) or die ("Die Daten konnten nicht geladen werden");
      $row mysql_fetch_array($ergebnis);

      if(
      $row[2] == $username && $row[4] == $passwort)
          {
          
      $_SESSION["username"] = $username;
          
      $_SESSION["abteilung"] = $abteilung;
          
          echo 
      "
          <html>
           <head>
            <title>Überprüfung</title>
            <meta http-equiv='refresh' content='1; URL=uebersicht-antragsteller.php'>
          </head>
          <body>
          <p>Sie werden eingeloggt!</p>
          </body>
          </html>
          "
      ;  
          }
      else
          {
          echo 
      "Benutzername und/oder Passwort waren falsch. <a href=\"login.php\">Login</a>";
          }


      ?>
      Aber er loggt sich nicht mehr ein, weil er immer den ersten user aus der DB nimmt

      mfg

      Kommentar


      • #4
        So macht man das auch nicht. Man lädt nicht alle Userdatensätze herunter und vergleicht (den ersten). Benutze ein WHERE in der DB Anfrage.
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          Danke, jetzt klapps

          Kommentar


          • #6
            Du solltest auch unbedingt dich über SQL-Injections informieren. Dein Script läd gerade zu dazu ein.
            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
            http://www.lit-web.de

            Kommentar

            Lädt...
            X