Login Script Part 1

MirakFH

Mitglied
Hey, ich habe hier ein Problem mit meinem Login-Script.

Ich poste gleich mal einen Code:

Code:
<?
	  
require('config.inc.php');
		
$login = mysql_query("SELECT * FROM `member` WHERE nick = '".$_POST["login_nick"]."'") or die(mysql_error());
$array = mysql_fetch_array($login);
if($array["password"] == md5($_POST["login_password"]))
{
echo "login successful";
}	
?>

In der config.inc.php stehen die Datenbankdaten die auch stimmen. Da bin ich mir sicher.
Dann ließt er mir den Benutzer aus der Dantenbank aus, der mit $_POST["login_nick"] über einstimmt. Jetzt checkt er noch, ob das eingegeben Passwort $_POST["login_password"] mit dem Passwort in den DB überinstimmt.

Bis jetzt habe ich nur den Part, wenn der Login erfolgreich war, aber das muss ja reichen fürs erste.

Bin echt ratlos.. habe schon 2 Leute im ICQ gefragt und sie haben auch nichts gefunden.


Der Fehler ist im Moment, das wenn ich mich mit den richtigen Daten einlogge einfach nichts einzeigt. Keine Fehler und kein echo "login successful";

Danke, Gruß Flo
 
Hi,

ich bin leider auch nicht so Fit in solchen Sachen, aber ich würde mal dein Select als echo ausgeben und in einem SQL-Client testen.

Da würdest du ggf. Syntaxprobleme oder andere Probleme sehen.

Sorry für die nicht 100% Lösung aber vllt schon eine Schritt weiter. Dann kannst du das Problem bißchen einkreisen.

Gruß

PS: sehr blöde Antwort, habe dein "die" nicht gesehen..Sorry
 
Mir würde spontan nur ein Fehler einfallen, und zwar der, dass das Password in der Datenbank nicht unter md5() gespeichert ist.

Du solltest dir ein paar Echos anzeigen lassen.

Versuch einmal, dich mit diesem editierten Script einzuloggen:

PHP:
<? 
       
require('config.inc.php'); 

$password = $_POST["login_password"]; // Das vom Formular gesendete Password
$md5pw = md5($password); // gesendetes Password verschl&uuml;sseln
$username = $_POST["login_nick"]; // Benutzername als Varibale(einfacher zum durchblicken)

$login = mysql_query("SELECT * FROM `member` WHERE nick = '".$username."'") or die(mysql_error()); 
$db = mysql_fetch_array($login); 
$dbpw = $db["password"]; // Das Password aus der Datenbank definieren
if($dbpw == md5($password)) 
{ 
echo "login successful"; 
} else { 
print "Login Fehlerhaft<br> 
Username = $username <br> 
Password vom Login = $password 
<br>Password mit md5 = $md5pw<br> 
Password aus der Datenbank = $dbpw";  
?>

Sollte $dbpw nicht angezeigt werden, hast du dich eventuell in deiner Datenbank vertippt und soetwas wie pasword oder psaswort oder sonst was geschrieben. Kann ja mal vorkommen.
 
Zuletzt bearbeitet:
Ich hatte mir schon alle EIngaben bzw Sachen, die in der DB gespeichert sind schon einzelnt anzeilt ausgeben lassen und die stimmten immer über ein.

Mittlerweile geht es auch, aber fragt mich nicht warum. Habe einfach einfach noch zick mal rumprobiert und dann ging es irgendwann. Danke füre Hilfe.
 
Zurück