Jeg er ved at lave et lille login-system med en lille cookie og sådan lidt.
Mit problem er at når man fra logind siden logger ind vises en blank side, den viser den rigtige adresse i adresselinien, uanset om man efterlader felterne tomme eller de er udfyldt med rigtige data.
Nogle der ud fra koden kan se hvad der er galt?
<php
// checker om felterne fra login formularen er tomme
if ((!$_POST[brugernavn]) || (!$_POST[password])) {
header("Location: login.htm");
exit;
}
// åbner database-forbindelsen
$conn = mysql_connect("localhost" , "root");
mysql_select_db("login_system" , $conn) or die (mysql_error());
// checker om brugeren findes i tabellen
$sql = "select f_name, l_name from auth_users where
brugernavn = ('$_POST[brugernavn]') and
password = ('$_POST[password]')";
$result = mysql_query($sql, $conn) or die (mysql_error());
// henter resultatet, som skal være 1 for at brugeren findes
if (mysql_num_rows($result) == 1) {
// Hvis brugeren findes i systemet
$f_name = mysql_result($result, 0, 'f_name');
$l_name = mysql_result($result, 0, 'l_name');
//Sætter en cookie
setcookie("auth", "1", 0, "/", "localhost/", 0);
//velkomst hilsen til bruger
$msg = "<p>velkommen til $f_name</p>";
} else {
// Hvis resultatet fra login ikke findes i databasen
header("location: login.htm");
exit;
}
?>
<html>
<head>
<title>Bruger login</title>
</head>
<body>
<? print "$msg"; ?>
</body>
</html>
Med venlig hilsen Mark
[Redigeret d. 08/05-05 19:52:17 af Mark]
Jeg kan ikke rigtigt se nogle fejl, men jeg har prøvet at rette lidt i den, måske hjælper det, her er den rettede udgave:
<php
// checker om felterne fra login formularen er tomme
if ((!isset($_POST['brugernavn'])) || (!isset($_POST['password']))) {
header("Location: login.htm");
exit;
}
else
{
// åbner database-forbindelsen
$conn = mysql_connect("localhost" , "root");
mysql_select_db("login_system" , $conn) or die (mysql_error());
// checker om brugeren findes i tabellen
$sql = "select f_name, l_name from auth_users where brugernavn = ('".$_POST['brugernavn']."') and password = ('".$_POST['password']."')";
$result = mysql_query($sql, $conn) or die (mysql_error());
// henter resultatet, som skal være 1 for at brugeren findes
if (mysql_num_rows($result) == 1) {
// Hvis brugeren findes i systemet
$f_name = mysql_result($result, 0, 'f_name');
$l_name = mysql_result($result, 0, 'l_name');
//Sætter en cookie
setcookie("auth", "1", 0, "/", "localhost/", 0);
//velkomst hilsen til bruger
$msg = "<p>velkommen til $f_name</p>";
echo "<html>
<head>
<title>Bruger login</title>
</head>
<body>
".$msg."
</body>
</html>";
}
else {
// Hvis resultatet fra login ikke findes i databasen
header("location: login.htm");
exit;
}
}
?>
Hilsen
Jan S.
[Redigeret d. 08/05-05 21:16:08 af Jan S.]