Login Bereich erstellen

macht nix ist ein testserver...

habs aber geändert...


aber zu meinem problem? ich komm nicht klar******
was ist da bei mir bitte falsch?
 
okay danke, da war der fehler...

aber irgendwas stimmt immer noch nicht...

ich werde immer ganz runter geleitet wenn ich das pw und den username eingebe:
Code:
else
    die("Bitte gib einen Username und ein Password ein!");

also ich bekomm immer das...
 
Hab das ganze mal sauber mit Tabulatoren umformatiert, damit man auch sieht welches If bis wo geht etc.
PHP:
session_start();
 
$username = $_POST['username'];
$password = $_POST['password'];
 
if( $username && $password){ 
    $connect = mysql_connect ("localhost","xyz","xyz") or die ("kann nicht connecten to db");
    mysql_select_db ("db1002505-phplogin") or die ("kann db nicht finden");
    $query = mysql_query("SELECT * FROM users WHERE username='$username'");
    $numrows = mysql_num_rows($query);
    
    if ($numrows!=0){
        while ($row = mysql_fetch_assoc($query)){
            $dbusername = $row['username'];
            $dbpassword = $row['password'];
        }
        
        if ($dbusername==$username&&$dbpassword==$password){
            echo "Du bist eingeloggt! <a href='member.php'>Klicke hier um zum Memberbereich zu kommen</a>";
            $_SESSION['username']=$username;            
        }else{
            echo "Falsches Password!";
        }
    }else{
        die("Dieser Username existiert nicht!");
    }
}else{
    die("Bitte gib einen Username und ein Password ein!");
}

Also. eine der beiden Variablen $username, $password wird nicht sauber übergeben.
Prüf doch mal was dabei herauskommt
PHP:
var_dump($_POST, $username, $password);
 
sorry bin der php sprache nicht so mächtig...

wo soll ich das prüfen?

ich hab jetzt halt mal eine test.php erstellt und die geöffnet:

"array(0) { } NULL NULL "
 
Zuletzt bearbeitet:
Du baust das in dein Code ein. Dann wird dir der Inhalt dieser Variablen angezeigt. So kann man debuggen.
Ich habe vor einiger Zeit ein Tutorial dazu geschrieben
PhpDebugWithVarDump

PHP:
session_start();
 
$username = $_POST['username'];
$password = $_POST['password'];
var_dump($_POST, $username, $password);
 
ich sag schonmal danke für deine hilfe :) ich würde das alleine nie hin bekommen******

das hier kommt raus:

array(1) { ["username"]=> string(4) "alex" } string(4) "alex" NULL Bitte gib einen Username und ein Password ein!


nur was sagt mr das? Das was mitm PW nicht stimmt?
 
Genau. Dein $_POST beinhaltet kein Passwort. Es wird also kein Passwort übergeben.
Ergo stimmt etwas im Formular nicht.

PS: Wenn du die Ausgabe Source anschaust, ists sogar formatiert *g*

array(1) { ["username"]=> string(4) "alex" } : Inhalt von $_POST
string(4) "alex" : Inhalt von $username
NULL : Inhalt von $password
 
Vielen Vielen Dank, ich hab den Fehler gefunden, Da war ein Tipfehler :)

Super support!


Also ich verstehe das Script auch soweit, nur eine Stelle, da kapiere ich nicht was er macht

Code:
$query = mysql_query("SELECT * FROM users WHERE username='$username'");
    $numrows = mysql_num_rows($query);
    
    if ($numrows!=0){
        while ($row = mysql_fetch_assoc($query)){
            $dbusername = $row['username'];
            $dbpassword = $row['password'];
        }
 
Er liest username und passwort aus der Datenbank
Mit dem if() prüft er ob der User gefunden wird.
Mit dem While geht er durch die Resultate der DB-Abfrage und liest username und password in die entsprechenen Variablen.
Da pro User nur ein DB-Eintrag besteht und auf diesen im SQL geprüft wird, wird diese Schleife genau ein mal durchgegangen.
 

Neue Beiträge

Zurück