You are on page 1of 2

This is a simple website login system that has been very reliable and secure for

me. I use it myself on my websites, when a simple login system is needed. If yo


u know a little MySQL and PHP, it is very easy to use. If you need a PHP refres
her course, I strongly recommend Simple PHP - you can learn the basics of PHP pr
ogramming in just a few days! Here's how to create a simple website login system
using PHP and MySQL.
First, you will need to have MySQL installed on your computer. I have XAMMP inst
alled and I use PHPmyADMIN for accessing my databases. They are free for downloa
d; just search for them online. You also need to create a database in your MySQL
. And as you proceed, remember that linux server file names are always case sens
itive. LOGIN.PHP is not equal to login.php like it would be on WINDOWS servers.
how to make a login
Run this SQL command in your MySQL database (you must have one):
CREATE TABLE `users` (
`id` int(3) NOT NULL auto_increment,
`login` varchar(8) default NULL,
`password` varchar(8) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
This will create the table that will record the usernames and passwords.
Then, create the LOGIN.PHP file. This page will contain the form that will s
ubmit the user´s data.

<?
session_name("MyLogin");
session_start();
session_destroy();
if($_GET['login'] == "failed") {
print $_GET['cause'];
}
?>
<form name="login_form" method="post" action="log.php?action=login">
Login: <input type="text" name="user"><BR>
Password: <input type="password" name="pwd"><BR>
<input type="submit">
</form>
Now, create the LOG.PHP. This is the file that performs the action of the fo
rm.

<?
session_name("MyLogin");
session_start();
if($_GET['action'] == "login") {
$conn = mysql_connect("localhost","user","password"); // your MySQL connecti
on data
$db = mysql_select_db("DATABASENAME"); //put your database name in here
$name = $_POST['user'];
$q_user = mysql_query("SELECT * FROM USERS WHERE login='$name'");
if(mysql_num_rows($q_user) == 1) {
$query = mysql_query("SELECT * FROM USERS WHERE login='$name'");
$data = mysql_fetch_array($query);
if($_POST['pwd'] == $data['password']) {
session_register("name");
header("Location: yourpage.php"); // success page. put the URL you want
exit;
} else {
header("Location: login.php?login=failed&cause=".urlencode('Wrong Password')
);
exit;
}
} else {
header("Location: login.php?login=failed&cause=".urlencode('Invalid User'));
exit;
}
}
// if the session is not registered
if(session_is_registered("name") == false) {
header("Location: login.php");
}
?>

Ads by Google
If you paid enough attention, you noticed that the login will lead the user
to YOURPAGE.PHP. Add these lines of code to any webpage that you want to secure
(including yourpage.php):

<?
require("log.php");
?>
Printing the user name in the screen is very easy. Just add this code:
<? print $_SESSION["name"]; ?>

You might also like