Hallo,
habe in meinem Login irgendwo einen Fehler. Ich habe das Formular login.php wo ich die daten eingeben muss (user und passwort) wenn man das ausfüllt und nach betätigung des Login Buttons kommt man auf login_a.php wo die daten geprüft werden. Die Daten werden auch richtig übergeben - habe ich mit einer echo ausgabe geprüft. Die Spalten- und Tabellenbenennung in der mySQL-DB stimmen ebenfalls - ich finde absolut den fehler nicht - vielleicht ihr?
+-------------------------------------------+
|login.php |
+-------------------------------------------+
<?php
session_start ();
print "<br>
Bitte loggen Sie sich ein.<br><br>";
if (isset ($_REQUEST["fehler"]))
{
echo "Die Zugangsdaten waren ungültig.";
}
print "<form action='login_a.php' method='post'>
<table border='0'>
<tr>
<td>Benutzername:</td><td>
<input type='text' class='textinput' size='30' name='user'></td></tr><tr>
<td>Passwort:</td><td>
<input type='password' class='textinput' size='30' name='pass'></td></tr>
<tr>
<td> </td><td align='right'><input type='submit' class='submit' value='Login'>
</td>
</tr>
</table>
</form>";
print "Session ID: " . SID;
?>
+-------------------------------------------+
|login_a.php |
+-------------------------------------------+
<?php
// Session starten
session_start ();
require "configs.php";
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ($dbhost, $dbuser, $dbpass);
if (!mysql_select_db ($dbname, $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT * FROM users WHERE (user like '".$_REQUEST["user"]."') AND (pass = '".md5 ($_REQUEST["pass"])."')";
$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["name"] = $data["name"];
$_SESSION["user"] = $data["user"];
header ("Location: index.php");
}
else {
header ("Location: login.php?fehler=1");
}
?>
+-------------------------------------------+
|Datenbank "users" |
+-------------------------------------------+
id | user | pass | name
----------------------------
1 user1 1234 User 1
2 user2 2345 User 2
3 user3 3456 User 3
----------------------------------------------------
in der login_a.php wird die datei configs.php per require reingerufen, da sind lediglich die Datenbank-Zugangsdaten als Variablen ($dbname etc) drin gespeichert - und die stimmen auch
alle.
Ich hoffe, ich konnte es so deutlich wie möglich machen - Bitte helft mir dabei, sonst werde ich noch verrückt mit den Sessions ;-)
ciao morpheuz