Hi friends in this blog we will learn how to develop PHP Login script by using PHP Object Oriented Programming concept. If you are good php programmer then you definitely follows object oriented programming principals. It is mostly work with objects and easy to maintain your code. In this blog I like to describe how to create user login system by implementing PHP Object Oriented Programming. Here First I have create simple databases class and make database connection, I have write database connection code in construct() megic method of PHP OOP, this is because whenever new object of this created this code will execute. After this I have make two function one for required field validation and other function will check the user enter correct information like username or password. This is my simple description, if you want to get more information, you can see the video of this post.
Source Code
database.php
<?php
//database.php
class Databases{
public $con;
public $error;
public function __construct()
{
$this->con = mysqli_connect("localhost", "root", "", "testing");
if(!$this->con)
{
echo 'Database Connection Error ' . mysqli_connect_error($this->con);
}
}
public function required_validation($field)
{
$count = 0;
foreach($field as $key => $value)
{
if(empty($value))
{
$count++;
$this->error .= "<p>" . $key . " is required</p>";
}
}
if($count == 0)
{
return true;
}
}
public function can_login($table_name, $where_condition)
{
$condition = '';
foreach($where_condition as $key => $value)
{
$condition .= $key . " = '".$value."' AND ";
}
$condition = substr($condition, 0, -5);
/*This code will convert array to string like this-
input - array(
'id' => '5'
)
output = id = '5'*/
$query = "SELECT * FROM ".$table_name." WHERE " . $condition;
$result = mysqli_query($this->con, $query);
if(mysqli_num_rows($result))
{
return true;
}
else
{
$this->error = "Wrong Data";
}
}
}
?>
can_login.php
<?php
include 'database.php';
session_start();
$data = new Databases;
$message = '';
if(isset($_POST["login"]))
{
$field = array(
'username' => $_POST["username"],
'password' => $_POST["password"]
);
if($data->required_validation($field))
{
if($data->can_login("users", $field))
{
$_SESSION["username"] = $_POST["username"];
header("location:login_success.php");
}
else
{
$message = $data->error;
}
}
else
{
$message = $data->error;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Webslesson Tutorial | Login Form in PHP using OOP</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<body>
<br />
<div class="container" style="width:500px;">
<h3 align="">Login Form in PHP using OOP</h3><br />
<?php
if(isset($message))
{
echo '<label class="text-danger">'.$message.'</label>';
}
?>
<form method="post">
<label>Username</label>
<input type="text" name="username" class="form-control" />
<br />
<label>Password</label>
<input type="password" name="password" class="form-control" />
<br />
<input type="submit" name="login" class="btn btn-info" value="Login" />
</form>
</div>
<br />
</body>
</html>
Really the easiest ways to understand php your professional and genuine
ReplyDeletethanks!
ReplyDeleteThanks and Impressive Article. Our offshore Development Center in India that caters clients across the globe with its professional PHP development services. Our professional, experienced dedicated PHP development team ensures complete transparency and work in line with client’s staff. The team will coordinate and adhere with the client’s requirements and time schedules to ensure timely completion of the process.
ReplyDeleteVery useful information. Keep sharing this type of post. I am really thankful for this post. best php training in pune
ReplyDeleteseriously, thanks 4 this useful info... u just help 4 my project TT
ReplyDeleteYou are like a php manual book. your articles are good, keep it up. thanks
ReplyDeleteWhere do you get $table_name value from?
ReplyDeleteexcellent article
ReplyDeletehaaa haa Hi friends in this blog we will learn how to develop PHP Login script by using PHP Object Oriented
ReplyDeleteYou are Great awsome i like Your Code very Much
ReplyDeletei also view your Laravel lecture consist on 25 series please make More on Laravel
thankyou
DeleteHow to login attempt user or forgot password
ReplyDelete?
Fatal error: Uncaught TypeError: mysqli_num_rows(): Argument #1 ($result) must be of type mysqli_result, bool given..
ReplyDeleteplease solve this
Your way of putting up code is wonderful, I like it very much
ReplyDelete