Php Login-script

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

  • sodah
    antwortet
    Tausend Dank, genau das wäre dann wohl mein nächstes Problem geworden, wenn der User auf Cancel gerdrückt hätte.

    Also anbei nochmal der überarbeitete Code.
    Jetzt ist auch eine Fehleingabe des Benutzers abgefangen und die Authorizierung kann erneut erfolgen.
    Im Übrigen wird das ganze aus Flash MX herausgesteuert, daher die merkwürdigen Echobefehle.

    PHP-Code:
    <?PHP
    //PW-Abfrage starten
    function authenticate()  
        {
        
    header("WWW-Authenticate: Basic realm=\"Bitte identifizieren\"");
        
    header("HTTP/1.0 401 Unauthorized");
        
    //Falls User auf cancel drückt
        
    echo "&login=abbruch";
        exit;
          }
    // Startschuss
    $auth false
    //Verbindung zum MYSQL-Server Herstellen
    $conn mysql_connect("localhost","xxx","xxx");
    //Verbindung zur Datenbank herstellen
    $db mysql_select_db("proskating");
    //PWEingabe kontrollieren
    if (isset($PHP_AUTH_USER) || isset($PHP_AUTH_PW)) 
        {
        
    $rs mysql_query("SELECT * FROM sodah_login WHERE user = '$PHP_AUTH_USER' AND pw = '$PHP_AUTH_PW'"$conn) or die ("&login=fehler");
        if (
    mysql_num_rows($rs)!=0)
            {
            
    $auth true
            }
        }
    if (!
    $auth
        { 
        
    authenticate();
        } else {
        echo 
    "&login=".mysql_result($rs,0,"group");
        }
    ?>
    Bei funzt es jetzt prima. Ist schon eine nervenaufreibende Sache, wenn man die USER, PW Felder nicht so ohne weiteres leerbekommt, um eine erneute Authorisierung zu starten.
    Zuletzt geändert von sodah; 29.02.2004, 11:24.

    Einen Kommentar schreiben:


  • Offe1
    antwortet
    nach
    header("HTTP/1.1 401 Unauthorized");
    fehlt ein
    PHP-Code:
    exit; 
    nachzulesen bei HTTP-Authentifizierung mit PHP

    Offe

    Einen Kommentar schreiben:


  • sodah
    antwortet
    Alles klar, danke, genau das fehlte noch.

    hier der überarbeitete Code:

    PHP-Code:
    <?PHP
    //Verbindung zum MYSQL-Server Herstellen
    $conn mysql_connect("localhost","xxx","xxx");
    //Verbindung zur Datenbank herstellen
    $db mysql_select_db("proskating");
    //PW-Abfrage starten
    if ((!isset($PHP_AUTH_USER)) || (!isset($PHP_AUTH_PW))) 
        {
        
    header("WWW-Authenticate: Basic realm=\"Bitte identifizieren\"");
        
    header("HTTP/1.1 401 Unauthorized");
        }
    $rs mysql_query("SELECT * FROM sodah_login WHERE user = '$PHP_AUTH_USER' AND pw = '$PHP_AUTH_PW'"$conn) or die ("&login=fehler");
    if (
    mysql_num_rows($rs)==0)
        {
        echo 
    "&login=fehler";
        } else {
        echo 
    "&login=".mysql_result($rs,0,"group");
        }
    ?>

    Einen Kommentar schreiben:


  • Offe1
    antwortet
    Da fehlt ein:
    PHP-Code:
    if ( !isset( $PHP_AUTH_USER )) { 
    vor
    header("WWW-Authenticate: Basic realm=\"Bitte identifizieren\"");
    würde ich sagen.

    EDIT:
    Beispiel:

    if (mysql_num_rows($rs)==0)
    {
    header( 'WWW-Authenticate: Basic realm="Testseite von Administrator - Authentification"' );
    header( 'HTTP/1.0 401 Unauthorized' );
    echo "<h1>401 Unauthorized</h1>";
    echo "Der Server konnte Ihre Anfrage nicht beantworten.<br> ";
    echo "Sie haben einen falschen User oder ein falsches Passwort verwendet.</p> ";
    echo "Bitte <a href=\"http://page.dyns.cx/testseite.php\"> klicken Sie hier</a> um es erneut zu versuchen.";
    exit;
    }



    Offe
    Zuletzt geändert von Offe1; 28.02.2004, 20:49.

    Einen Kommentar schreiben:


  • sodah
    hat ein Thema erstellt Php Login-script.

    Php Login-script

    Irgendwie poppt 3 mal der bescheuerte Login auf, obwohl ich ihn hier nur einmal eingebunden habe. Hmmmmmmm...

    Der Login ist an eine Datenbank gebunden, welche user, pw, group bereitstellt.

    Was ist daran falsch?

    PHP-Code:
    <?PHP
    //Verbindung zum MYSQL-Server Herstellen
    $conn mysql_connect("localhost","xxx","xxx");
    //Verbindung zur Datenbank herstellen
    $db mysql_select_db("proskating");
    //Login starten
    header("WWW-Authenticate: Basic realm=\"Bitte identifizieren\"");
    header("HTTP/1.1 401 Unauthorized");
    $rs mysql_query("SELECT * FROM sodah_login WHERE user = '$PHP_AUTH_USER' AND pw = '$PHP_AUTH_PW'"$conn) or die ("&login=fehler");
    if (
    mysql_num_rows($rs)==0)
        {
        echo 
    "&login=fehler";
        } else {
        echo 
    "&login=".$rs[0]["group"];
        }
    ?>
    Zuletzt geändert von sodah; 28.02.2004, 20:37.
Lädt...
X