Login klasse
config.php
<?
// Connect to mysql
mysql_connect("localhost", "root", "");
mysql_select_db("database");
// Allow sessions
session_start();
// include classes
include("user.class.php");
?>
index.php
<?
include("config.php");
switch ($_REQUEST["mode"]) {
case "login":
if (User::login($_REQUEST["username"], $_REQUEST["password"])) {
header("Location: ".$_SERVER["PHP_SELF"]);
} else {
header("Location: ".$_SERVER["PHP_SELF"]."?invalid=1");
}
exit;
case "logout":
User::logout();
header("Location: ".$_SERVER["PHP_SELF"]);
exit;
default:
if ($_SESSION["user"]) {
?>
<html>
<head><title>Login demo</title>
</head>
<body>
Hej <?=$_SESSION["user"]["name"]?>! Du er logget ind. <a href="?mode=logout">Log ud</a>
</body>
</html>
<?
} else {
?>
<html>
<head><title>Login demo</title>
</head>
<body>
<?
if (isset($_REQUEST["invalid"])) {
?>
Fejl ved login.<br>
<br>
<?
}
?>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
<label for="username">Brugernavn</label><br>
<input type="text" id="username" name="username"><br>
<br>
<label for="password">Adgangskode</label><br>
<input type="password" id="password" name="password"><br>
<br>
<input type="hidden" name="mode" value="login">
<input type="submit" value="Log ind">
</form>
</body>
<?
}
}
?>
user.class.php
<?
class User {
function login($username, $password) {
$username = strtolower($username);
$password = md5(strtolower($password)); // Use encrypted password
$res_users = mysql_query("SELECT * FROM users WHERE username='".$username."' AND password='".$password."'");
if ($row_users = mysql_fetch_array($res_users)) {
// OK
$_SESSION["user"] = array(
"id" => $row_users["ID"],
"name" => $row_users["username"]
);
return true;
}
// Error
return false;
}
function logout() {
unset($_SESSION["user"]);
}
}
?>
user.sql
CREATE TABLE IF NOT EXISTS `users` (
`ID` int(11) NOT NULL auto_increment,
`username` varchar(255) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
PRIMARY KEY (`ID`)
);