Problem mit Login "Abfrage"

Rambo51

Erfahrenes Mitglied
Hi,

ich bins ml wieder ;)

Ich möchte eine Login Sektion mit User CP etc. machen.
Jetzt stoße ich schon auf mein erstes Problem ;-]

Also ich sende die Login Daten mit dem Formular:
PHP:
<form action="login_send.php" method="post"> 
Nickname: <input type="text" name="nickname"><br>
Password: <input type="password" name="password"><br><br>
<input type="submit" name="submit" value="Login"><br><br>
</form>

So und dann kommt das eigentliche Login:
PHP:
<?php 

include 'config.php'; 

session_start ();

$sql = "SELECT * FROM `mc_member` WHERE `mb_nickname` = '".mysql_real_escape_string($_POST['nickname'])."' AND `mb_password` = '".mysql_real_escape_string(md5($_POST['password']))."'"; 
$result = mysql_query($sql) or die(mysql_error()); 

if (mysql_num_rows ($result) > 0)  
{   
  $row = mysql_fetch_array($result);  

  $_SESSION["u_id"] = $row["mb_id"];  
  $_SESSION["u_nickname"] = $row["mb_nickname"];  
  $_SESSION["u_zugriff"] = $row["mb_zugriff"];   

  header ("Location: user_cp.php");  
}  
else  
{  
  header ("Location: login.php?fehler=1");  
}
?>

Ich gebe die Login Daten richtig ein! Aber ich komme immer auf die Fehlerseite.
Habe schon getestet die "mb_id" mit echo anzeigen zu lassen aber es kommt nichts.
Also muss das Problem ja bei der Abfrage liegen. Kann mir da jemand ein Tipp geben?

EDIT: Connection ist in der Config.php

Gruss
 
Hm, sieht auf den ersten Blick eigentlich alles ok aus.
Hast du mal probiert das Passwort zum Testen in Klartext zu verwenden um zu sehen obs vielleicht an dem MD5 liegt?
 
Sinac hat gesagt.:
Hast du mal probiert das Passwort zum Testen in Klartext zu verwenden um zu sehen obs vielleicht an dem MD5 liegt?

Ja hab ich schon gemacht, es wird aber trotzdem nichts angezeigt bzw. richtig weitergeleitet!
 
Evtl. funktioniert der Login ja auch richtig. Probier doch mal ob es funktioniert wenn du bei der Weiterleitung einfach mal die SessionID mit übergibst? Wenn es dann geht liegt es daran, dass die Session verloren geht. Dann müsste man sich erarbeiten wie man am klügsten die SessionID übergibt ohne ein Sicherheitsrisiko zu verursachen. Ist eine heiß diskutierte Sache hier im Forum.
 
Erhöhe mal PHPs Fehlermeldungssensibilität. Möglicherweise treten Fehler auf, dessen Meldungen aber nicht ausgegeben werden.
 
@Karl Förster: Habe ich gemacht, aber er läd die Fehler seite.

@ Gumbo: Hab die Fehlersensilibität höher gestellt, er zeigt aber kein Fehler an?!
PHP:
ini_set('display_errors', true);
error_reporting(E_ALL);
 
Allem Anschein nach gibt es ja bloß keinen Datensatz, der den genannten Kriterien entspricht. Lass die doch mal die Abfragedefinition ausgeben und überprüfe sie manuell.
 
Hab jetzt mal versucht eine abfrage zu machen, aber er gibt nichts aus.

PHP:
$sql = "SELECT * FROM `mc_member` WHERE `mb_nickname` = 'Oranje' AND `mb_password` = '".md5(xxxxx)."'"; 
$result = mysql_query($sql) or die(mysql_error()); 
while($row = mysql_fetch_array($result)) 
{
echo $row['mb_zugriff'];
echo $row['mb_id'];
}

jetzt habe ich mal versucht direkt das Passwort, wie es in der Datenbank drin steht ein zu setzen. Und schon wird es ausgegeben!
PHP:
`mb_password` = '8dd51....';

Sollte ich das Passwort dann vielleicht ohne MD% Verschlüsselung in der DB speichern, oder ist das ein Sicherheitsproblem? Oder wie kann man es sonst lösen?
 
Zuletzt bearbeitet:
Ich habe mir nochmal gedanken gemacht und da kam noch die frage auf:
Wenn man das passwort "123456" nimmt, wird es dann auch immer von md5 gleich verschlüsselt?

Und nochmal wie kann ich das lösen? siehe Post vorher
 
Zurück