wbs
08.04.2006, 11:13
Hallo. Da ich leider dieses Login sehr schnell hinbekommen muss, aber nicht weiß wo der Fehler liegt bitte ich um eure Hilfe.
<?
session_start();
if (isset($_POST['login'], $_POST['password'])
AND
strcmp(trim($_POST['login']),'') !=0
AND
strcmp(trim($_POST['password']),'') !=0 ) {
// Herstellen einer Verbindung zu MySQL
$connect = mysql_connect("localhost","","") or die ("Keine Verbindung zum Server möglich");
mysql_select_db("usr_web1_1",$connect) or die ("Datenbank existiert nicht");
$sql = "SELECT userid, username, password, email FROM forum_user WHERE username = '".trim($_POST['login'])."' AND password = '".md5(trim($_POST['password']))."'";
$res = mysql_query($sql);
// Es darf nur maximal ein Datensatz selektiert werden. Bei mehr wird der Login aus Sicherheitsgründen abgebrochen.
if (mysql_num_rows($res) !=1) {
header('Location:login/fehllogin.php');
exit();
} else {
// Die Session bekommt Wert true und ihr werden versch. Elemente angehangen
$_SESSION['eingeloggt'] = true;
$user = mysql_fetch_object($res);
$_SESSION['userid'] = $user->userid;
$_SESSION['username'] = $user->username;
$_SESSION['password'] = $user->password;
$_SESSION['email'] = $user->email;
// Der Login war erfolgreich und der User wird zur geschützten Seite geschickt
header('Location:community/community.php');
exit();
}
} else {
header('Location:community/index.php');
exit();
}
?>
Aber was mache ich falsch? Das Programm leitet mich immer wieder zur fehllogn.php obwohl er das nur machen soll, wenn mehr als ein Datensatz selektiert ist.
<?
session_start();
if (isset($_POST['login'], $_POST['password'])
AND
strcmp(trim($_POST['login']),'') !=0
AND
strcmp(trim($_POST['password']),'') !=0 ) {
// Herstellen einer Verbindung zu MySQL
$connect = mysql_connect("localhost","","") or die ("Keine Verbindung zum Server möglich");
mysql_select_db("usr_web1_1",$connect) or die ("Datenbank existiert nicht");
$sql = "SELECT userid, username, password, email FROM forum_user WHERE username = '".trim($_POST['login'])."' AND password = '".md5(trim($_POST['password']))."'";
$res = mysql_query($sql);
// Es darf nur maximal ein Datensatz selektiert werden. Bei mehr wird der Login aus Sicherheitsgründen abgebrochen.
if (mysql_num_rows($res) !=1) {
header('Location:login/fehllogin.php');
exit();
} else {
// Die Session bekommt Wert true und ihr werden versch. Elemente angehangen
$_SESSION['eingeloggt'] = true;
$user = mysql_fetch_object($res);
$_SESSION['userid'] = $user->userid;
$_SESSION['username'] = $user->username;
$_SESSION['password'] = $user->password;
$_SESSION['email'] = $user->email;
// Der Login war erfolgreich und der User wird zur geschützten Seite geschickt
header('Location:community/community.php');
exit();
}
} else {
header('Location:community/index.php');
exit();
}
?>
Aber was mache ich falsch? Das Programm leitet mich immer wieder zur fehllogn.php obwohl er das nur machen soll, wenn mehr als ein Datensatz selektiert ist.