Probleme mit 'Login-System mit Sessions' - Script

Cybersmiley

Grünschnabel
Hallo,

ich habe ein Problem mit dem 'Login-System mit Sessions' - Script welches in Tutorials veröffentlicht wurde. Das Script ist hier zu finden: http://www.tutorials.de/tutorials9684.html .

Ich suche jetzt freundliche Unterstützung und hoffe mir kann jemand weiterhelfen.

Mein Problem:

Ich habe das Script so übernommen wie unter dem oben aufgeführten Link zu finden ist. Habe es dann auf meinen Webserver mit MySQL - Datenbank angepasst.

Ich habe dann versucht mich einzuloggen aber es gelingt nicht. Ich habe schon verschiedene Varianten in der login.php ausprobiert und weis absolut nicht mehr weiter. Das Script läuft immer wieder in die zweite if-Schleife in den else-Zweig.

Also hier hinein:
else
{
header ("location: formular.php?fehler=1");
}

Es werden keine Fehlermeldungen von der MySQL - Datenbank heraus gegeben.

Für nähere Informationen stehe ich gerne zur Verfügung. Ich hoffe es kann mir jemand helfen. Danke im Vorraus.

Gruß Cybersmiley
 
Hallo, darum geht es sicherlich:
PHP:
$result = mysql_query ($sql); 

if (mysql_num_rows ($result) > 0) 
{ 
  // Benutzerdaten in ein Array auslesen. 
  $data = mysql_fetch_array ($result); 

  // Sessionvariablen erstellen und registrieren 
  $_SESSION["user_id"] = $data["Id"]; 
  $_SESSION["user_nickname"] = $data["Nickname"]; 
  $_SESSION["user_nachname"] = $data["Nachname"]; 
  $_SESSION["user_vorname"] = $data["Vorname"]; 

  header ("Location: intern.php"); 
} 
else 
{ 
  header ("Location: formular.php?fehler=1"); 
}
Änder die erste Zeile wiefolgt:
PHP:
$result = mysql_query ($sql) or die(mysql_error());
Die daraufhin ausgegebene Fehlermeldung sollte Aufschluss über die Ursache geben.

snuu
 
Hallo,

danke für den Tip. Ich habe ihn auch sofort ausprobiert, aber leider werden keine Fehlermeldungen ausgegeben. Er springt immernoch in den else-Zweig. Ich habe auch nochmal die Userdaten in der Tabelle überprüft und diese sind auch korrekt. Das heist ich konnte keine Fehlerbehebung durchführen und würde Euch bitten mir weitere Tips zu geben. Danke und bis dann

Cybersmiley
 
Dann liefert die SQL-Anweisung keine Daten zurück:
PHP:
$sql = "SELECT ". 
    "Id, Nickname, Nachname, Vorname ". 
  "FROM ". 
    "benutzerdaten ". 
  "WHERE ". 
    "(Nickname like '".$_REQUEST["name"]."') AND ". 
    "(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
Hast Du auch Benutzerdaten in der Datenbank, bzw hast Du beachtet, dass das Passwort als MD5-Hash-Wert abgelegt wird? Du kannst Dir zusätzlich die SQL-Anweisung ausgeben lassen und prüfen, ob Benutzername und Kennwort ordentlich ankommen.

snuu
 
Ja ich habe Userdaten in der Datenbank. Eingefügt habe ich diese mit dem Script aus dem Tutorial und die Passwörter werden auch mit MD5 verschlüsselt.

Da ich gerade erst anfange mich mit dem Thema PHP und Datenbanken auseinander zu setzen bin ich noch nicht ganz so fit.

Kann mir jemand die Zeilen posten wie man die SQL - Anweisung ausgibt um zu schauen ob die richtigen Daten ankommen? Wäre echt super.

Gruß Cybersmiley
 
Hallo,

ich habe soeben das Problem gefunden und es funktioiert jetzt. Danke an die unterstützenden User!

Problem war:

Bei dem Anlegen der Tabelle habe ich für das Passwort zu wenig Zeichen reserviert. Anstatt VARCHAR(50) hatte ich VARCHAR(30) angegeben.

Wer lesen kann ist klar im Vorteil (Auf mich bezogen!)

Also nochmal danke und bis dann

Cybersmiley

Thread Kann geschlossen werden!
 
Hallo,

bin neu hier. Bei mir kommt diese Meldung:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (Nickname like '') AND (Kennwort = 'd41d8cd98f00b204e9800

was hat das auf sich. Kenne mich damit net aus.
 
Zurück