user login

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • user login

    Hallo,
    ich habe ein login script geschrieben. Die eingegebenen daten werden mit einer mysql datenbank verglichen. Wenn ich das script ausführe kommen die eingabefelder, doch nach der eingabe wird, glaube ich nicht verglichen ob das pasw richtig war, hier der quellcode:



    PHP Code:
    <?php
     $conn 
    mysql_connect("localhost","root","");
    $db=mysql_select_db("st_quirin",$conn);
     
    $sql"SELECT user.id, user.name, user.pass FROM user";
    $rs mysql_query($sql,$conn);
                    
            while (
    $zeile=mysql_fetch_array($rs,MYSQL_ASSOC))
        {
        if(
    $PHP_AUTH_USER==$zeile["name"] & $PHP_AUTH_PW==$zeile["pass"])
                    {
                    echo 
    "login erfolgreich";
                    break;
                               }
                    else
                    {
                             
    $ui false;
                    }
                }
    if (
    $ui ==false){    Header('HTTP/1.1 401 Unauthoized');
            
    Header('WWW-Authenticate: Basic realm="interner-bereich"');}
                
     
    ?>
    weiß jemand wo der fehler liegt???
    mfg ralf

  • #2
    du brauchst das rad nicht neu zu erfinden. schau erst mal, wie es richtig geht:
    http://tut.php-q.net/login.html

    Comment


    • #3
      Du benutzt einen Bitoperatoren anstelle eines logischen Operators zur Prüfung. Also statt & müsste in der if Abfrage ein && stehen.

      Allerdings würde ich dir Vorschlagen, die Gleichheit in der SQL Abfrage zu prüfen (Also " SELECT * FROM ... WHERE name='...' AND pass='...' ") und dann auf die Anzahl der gefundenen Datensätze prüfen.

      Comment

      Working...
      X