• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP Script für Passwort Abfrage mit MySQL Datenbank

Woher soll diese Einstellung "berechtigung" denn nun konkret geladen werden?
Aus der Datenbank? Dann lies es auch von dort und nicht aus der Session.
Von einem vorhergehenden Formular, welches an diese PHP-Datei hier geschickt wird? Dann nutze $_POST um den Wert auszulesen und nicht aus der Session.
 
das soll natürlich aus der Datenbank gelesen werden ... ich weiß nicht, ich kenn mich ja nicht so gut aus. Das mit SESSION hat jemand gesagt ... daher habe ich das probiert.
Aber nein, eigentlich soll das aus der Datenbank gelesen werden .... bin ich jetzt völlig falsch ??
Ich hab mich eh schon gewundert, denn es wird ja nirgends ein Abgleich mit der Datenbank gemacht ... oh man
 
Ja, dann mach doch einen Vergleich mit den Daten aus der Datenbank, nicht mit der Session. Das ist ja dein Ziel - dann folge diesem auch.
 
oooookay, also ich hab mal das gebaut, keine Ahnung ob das richtig ist, seht einfach selbst ... funktionieren tuts jedenfalls noch nicht ^^:

PHP:
<?php
    session_start();
    require_once('./config.php');
    $link = mysql_connect($db_config['server'], $db_config['username'], $db_config['password']);
    if (!$link)
    {
        die("Keine Datenbankverbindung möglich: " . mysql_error());
    }
    $datenbank = mysql_select_db($db_config['database'], $link);
    if (!$datenbank)
    {
        echo "Kann die Datenbank nicht benutzen: " . mysql_error();
        mysql_close($link);
        exit;
    }
    if (!empty($_POST["submit"]))
    {
        $_username = mysql_real_escape_string($_POST["username"]);
        $_passwort = mysql_real_escape_string($_POST["passwort"]);
        $_sql = "SELECT * FROM login_usernamen WHERE
                    username='".$_username."' AND
                    passwort=MD5('".$_passwort."')
                    LIMIT 1";  
        $_res = mysql_query($_sql, $link);
        $_anzahl = @mysql_num_rows($_res);        
        if ($_anzahl > 0)
        {    
                    
            $test = "SELECT * FROM login_usernamen"; // das hab ich jetzt mal eingefügt .... richtige Richtung? ^^ //
            $result = mysql_query($test, $link);
            $row = mysql_fetch_object($result); 
    
           // include("test.html"); // jetzt mit include // 
             if($row["berechtigung"]=="a"){
                echo "user1 login";
            }
            elseif($row["berechtigung"]=="b"){
                echo "user 2 login";
            }
            exit;
        }
        else
        {
            include("kundenzugangfail.html");
        }
    } 
?>
 
Nicht ganz richtig. Mit mysql_fetch_object() erzeugt man ein Objekt, kein Array. Also musst Du statt

PHP:
$row["berechtigung"]

das hier

PHP:
$row->berechtigung

schreiben.

Und noch als Verbesserungstipp: Momentan führst Du 2 Statements aus: das zur Loginprüfung und das zum Auslesen der Berechtigung. Auf letzteres kannst Du auch verzichten. Lies alles aus der Rückgabe des Loginprüfungs-Statements aus, reicht völlig.
 
wooohoooo, jaaaa endlich, es funktioniert !!!
Naja hab es jetzt einfach mit einem Array gemacht. So funktioniert es, yeaaah ich freu mich total :)
Vielen dank an alle, die geholfen haben !!!

Hier noch Mal der korrekte Code:

PHP:
<?php
    session_start();
    require_once('./config.php');
    $link = mysql_connect($db_config['server'], $db_config['username'], $db_config['password']);
    if (!$link)
    {
        die("Keine Datenbankverbindung möglich: " . mysql_error());
    }
    $datenbank = mysql_select_db($db_config['database'], $link);
    if (!$datenbank)
    {
        echo "Kann die Datenbank nicht benutzen: " . mysql_error();
        mysql_close($link);
        exit;
    }
    if (!empty($_POST["submit"]))
    {
        $_username = mysql_real_escape_string($_POST["username"]);
        $_passwort = mysql_real_escape_string($_POST["passwort"]);
        $_sql = "SELECT * FROM login_usernamen WHERE
                    username='".$_username."' AND
                    passwort=MD5('".$_passwort."')
                    LIMIT 1";  
        $_res = mysql_query($_sql, $link);
        $_anzahl = @mysql_num_rows($_res);    
        $row = mysql_fetch_array($_res);     
        if ($_anzahl > 0)
        {            
            if($row['berechtigung']=="a")
            {
               include("kundenzugang_login_user1.html");
            }
            elseif($row['berechtigung']=="b")
            {
               include("kundenzugang_login_user2.html");
            }
            exit;
        }
        else
        {
            include("kundenzugangfail.html");
        }
    } 
?>
 
Zurück
Oben