1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Probelme mit Login-Skript

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von allesinmac, 17.02.08.

  1. allesinmac

    allesinmac Boskop

    Dabei seit:
    28.12.03
    Beiträge:
    207
    Hallo ihr alle,

    ich habe mich gestern mal ran gesetzt und versucht ein eigenes kleines Login-Skript zu basteln. Es funktioniert eigentlich auch recht gut. Nur möchte ich viele Accounts einrichten mit unterschiedlichen Rechten.

    Und genau da habe ich ein kleines Problem. Das will irgendwie nicht klappen. Anscheint liest er alles aus der Datenbank was er findet.

    Hier mal meine DB-Abfrage:

    Code:
    // Hier wird nun die Login-DB abgerufen 
    $ergeb=mysql_query("SELECT * FROM hp_login"); 
    while($array=mysql_fetch_array($ergeb)) { 
    
    // Hier wird das Passwort verschluesselt
    $pw_2t = md5($pw_safe);
    
    
    ### Der Login wird geprueft ###
    
    if($array['user']=="$user_form" && $array['pw']=="$pw_2t") {
    
    // Zugangsdaten sind RICHTIG
    echo '<h2>Willkommen! Sie werden weitergeleitet...</h2>';
    exit ();
      }else{
      // Zugangsdaten sind FALSCH
        echo "<b>Fehler: Zugangsdaten sind falsch!</b><p>";
        
    }
    
    Wo ist der Fehler? Ich kann ja bei der DB-Abfrage kein LIMIT 0,1 machen weil er ja sonst nur den ersten DB-Satz ausliest. Aber er soll ja alles lesen, weil es ja mehrere Accounts gibt und nicht nur einen.
     
  2. Slashwalker

    Slashwalker Winterbanana

    Dabei seit:
    15.05.06
    Beiträge:
    2.190
    Du musst den SQL Abruf eingrenzen.
    In etwa so:
    Code:
    $ergeb=mysql_query("SELECT * FROM hp_login WHERE user=".$_POST['user']." AND password=".md5($_POST['password']));
    Somit liest er nur den Datensatz aus, bei dem Username und Passwort den Eingaben im Formular entspricht. Also musst du dann nur prüfen, ob ein Ergebnis existiert. Existiert kein Ergebnis, stimmen die Zugangsdaten nicht.
     
  3. allesinmac

    allesinmac Boskop

    Dabei seit:
    28.12.03
    Beiträge:
    207
    Aso.

    Dann ist die if Überprüfung dann auch überflüssig oder?

    Code:
    if($array['user']=="$user_id" && $array['pw']=="$pw_safe") {
    
    WIe mache ich das am genschicksten das der User dann Feedback bekommt ob der Login nun geklappt hat oder nicht?



    (Hab son Login-Skript noch nicht programmiert deshalb meine Frage.)
     
  4. Slashwalker

    Slashwalker Winterbanana

    Dabei seit:
    15.05.06
    Beiträge:
    2.190
    Die if Bedingung muss dann in etwa so lauten:
    Code:
    if(mysql_num_rows($ergebnis) !=0 )
    {
    // User eingeloggt
    echo '<h1>Willkommen $ergbnis['user']</h1>';
    }
    else{
    echo 'Fehler: Zugangsdaten sind falsch!';
    }
    
    Alles natürlich ohne Gewehr ;)
    Ich bin nicht so der PHPler.
     
  5. allesinmac

    allesinmac Boskop

    Dabei seit:
    28.12.03
    Beiträge:
    207
    Super!

    Das habe ich gesucht. Danke dir!!
     
  6. Slashwalker

    Slashwalker Winterbanana

    Dabei seit:
    15.05.06
    Beiträge:
    2.190
    Kein Problem ;)
     

Diese Seite empfehlen