Fehler beim Login?!

Headymaster

Erfahrenes Mitglied
Hallo!

Habe nen Fehler beim Login...und zwar wird nie ein Eintrag in der Datenbank gefunden, und deshalb kann auch keine Session geschrieben werden.
Aber warum wird nichts gefunden, die Verbindung zur Datenbank steht....aber er findet nichts im admins_table


admin/index.php:
PHP:
<?php
#######Buffer Start######
ob_start();
session_start();
#########################

// Überprüfen, ob User eingeloggt ist
if (checkuser() === true)
{
// Wenn Ja Admin-Panel
$content = showtpl("admin/lobby", array("Title" => "$title",
                                        "CSS" => "$css"));
}
else
{
// Wenn Nein Login-Form
$content = showtpl("admin/login", array("Title" => "$title",
                                        "CSS" => "$css"));
}


if($_GET['op'] == "login")
{
  $loginuser = "SELECT ". 
        "*". 
        "FROM ". 
        "admins ". 
        "WHERE ". 
        "(vname = '".$_POST["name"]."') AND ". 
        "(pw = '".md5 ($_POST["password"])."')";
  $logindo = mysql_query ($loginuser);	
		if ($logincount > 0)
             {
		 
		// Benutzerdaten in ein Array auslesen. 
             $logindata = mysql_fetch_array ($logindo); 

             // Sessionvariablen erstellen und registrieren 
             $_SESSION["user_id"] = $logindata["id"]; 
             $_SESSION["user_login"] = $logindata["vname"]; 
             $_SESSION["user_pwd"] = $logindata["pw"]; 
			 
	         header("Refresh:3;url=index.php?do=admin");
             } 
             else 
             {
			 header("Refresh:3;url=index.php?do=admin");
             $content = showtpl("error/error_msg", array("CSS" => "$css",
                                                         "msg" => "Login fehlerhaft!",
										                 "redirect_url" => "index.php?do=admin"));;
             }
}
#######Buffer Ende#######
ob_end_flush();
#########################
?>

So und der User der sich einloggen soll steht auch in der Datenbank.

sein vname ist Niels und sein pw is xxx als md5 verschlüsselt, aber es geht einfach nicht....habe die Werte auch inner Datenbank überprüft...

Würde mich sehr über Hilfe freuen.

MFG Niels
 
probier mal:
PHP:
$loginuser = "SELECT ". 
        "*". 
        "FROM ". 
        "admins ". 
        "WHERE ". 
        "(vname = '{$_POST['name']}') AND ". 
        "(pw = '{.md5($_POST['password']).}')";

Außerdem informier dich mal über "MySQL Injections" ... Google steht dir sicherlich mit einigen Seiten zur Hilfe.
 
Also bei deinem vorschlag kommen nur Fehler^^

ja wegen SQL-Injection weiß ich...... mysql_real_escape_string und dann noch die eingaben mit preg match auf bestimmte eingabemasken überprüfen....weill ja erstmal nur so den login hinkriegen....läuft ja alles aufn Heimwebserver also net im Inet ;-)

MFG Niels
 
Am besten du lässt dir mal die SQL-Abfrage ausgeben. Laut deinem Code wirst du erkennen, dass die Abfrage in etwa so anfängt:
PHP:
SELECT *FROM
Also muss nach dem * noch ein Leerzeichen kommen.
 
Also das Leerzeichen hat leider auch nichts gebracht....

Habe mir den Query mal ausgeben lassen und da bekomme ich Resource id 10.... aber inner DB ist nur ein datensatz mit der id 1 drinne ?! o.0

MFG Niels
 
Hmm ... , keine Ahnung was ich da fürn Unfug geschrieben hab :suspekt:

PHP:
$loginuser = "SELECT
        * 
        FROM
        admins 
        WHERE 
        vname = '{$_POST['name']}' AND. 
        pw = '{md5($_POST['password']}'";
 
Zurück