Tuesday, 1 July 2014

FIND OUT How to create a login form in PHP

Posted by M2Software Solutions Solutions Pvt. Ltd | 00:39 Categories: ,
Hello friends ....!!!

Today i am here with a new topic... that is Creating a login form

as you all know in web development.. for dynamic websites login form is very important....

so here we go....

first of all we will create  3 PHP files for testing our code.

1. main_login.php
2. checklogin.php
3. login_success.php

Create table "members" in database "test".

For testing this code, we need to create database "test" and create table "members".
 

CREATE TABLE `members` (
`id` int(4) NOT NULL auto_increment,
`username` varchar(65) NOT NULL default '',
`password` varchar(65) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;

--
-- Dumping data for table `members`
--

INSERT INTO `members` VALUES (1, 'john', '1234');

Create file main_login.php

  now we need to create is "main_login.php" which is a login form.
Code :


<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form name="form1" method="post" action="checklogin.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3"><strong>Member Login </strong></td>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type="text" id="mypassword"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>

</table>
</td>
</form>
</tr>
</table>

Create file checklogin.php

now, We have a login form. when a user will  submit their username and password, PHP code in checklogin.php will check that this user exist in our database or not. and if exists then the User name and password that user entered is matching to the user name and password exists in database or not. if matched then it will show a message of login successfully or if not then it will show message of wrong user name or password.



Code :


<?php

$host="localhost";
// Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="members"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");


// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// To protect MySQL injection 
 $myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);


// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");

header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>

Create file login_success.php

User can't view this page if the session is not registered.

Code
// Check if session is not registered, redirect back to main page.
// Put this code in first line of web page.

<?php
session_start();
if(!session_is_registered(myusername)){
header("location:main_login.php");
}
?>

<html>
<body>
Login Successful
</body>
</html>

Create file Logout.php

If you want to logout, create this file. The code in this file will destroy the session.

// Put this code in first line of web page.
<?php
session_start();
session_destroy();
?>
and if you have more ways to create a login form ...
share with us... 
Leave a reply....... 

Regards : m2soft solutions Pvt. Ltd
  

0 comments:

Post a Comment

  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin
  • Youtube