PDA

View Full Version : [PHP] MySQL Login System



admans
07-18-2005, 18:17 PM
In this tutorial, I will teach you how to create a login system that takes the username and password from a database. Here is the code, I will break it down at the end.
First, we will begin by making our table and fields, and insert data into them. Execute this SQL command in a interface such as phpMyAdmin:

CREATE TABLE `users` (
`username` VARCHAR(255) NOT NULL,
`password` VARCHAR(255) NOT NULL
);

INSERT INTO `users` ( `username` , `password` )
VALUES (
'USERNAME', 'PASSWORD'
);

Login.php:



<html>
<head>
</head>
<body>
<form action="./login.php" method="POST">
<input type="text" name="username"><br>
<input type="password" name="password"><br>
<input type="submit" value="Login!">
</form>

<?

$connection = @mysql_connect("localhost", "username", "password")
or die(mysql_error());
$dbs = @mysql_select_db(database, $connection) or
die(mysql_error());



$sql = "SELECT * FROM `users` WHERE username = '$_POST[username]' AND password = '$_POST[password]'";
$result = @mysql_query($sql,$connection) or die(mysql_error());



$num = @mysql_num_rows($result);

if ($num != 0) {
$cookie_name = "auth";
$cookie_value = "ok";
$cookie_expire = "0";
$cookie_domain = "yoursite.com";


setcookie($cookie_name, $cookie_value, $cookie_expire, "/" , $cookie_domain, 0);

header("Location: http://YourSite.com/secretpage.php");
exit;
}

?>
</body>
</html>

Basically, the SQL part of it takes the username and password that is in the database and matches it to the username and password you submitted. If it does not match, it will show the login form again. If the username and password DO match, it will set a cookie on your system named auth with the value 'ok'. In secretpage.php, it will verify that that cookie value is okay by using this bit of code:
secretpage.php:


if ($_COOKIE[auth] == "ok") {
echo "Welcome Admin!";
} else {
header("Location: http://YourSite.com/login.php");
exit;
}

Basically, that code is saying 'If cookie auth = ok, let them in. If it does not, redirect them'. I hope that this has helped someone.

xyris
07-19-2005, 07:03 AM
Thanks for the codes
Is there any good site that offers such codes?