In this post I will explain you how user can change their old password. First create a HTML Form with three fields. It's full validate form like old password and new or confirm password match or not.
File Structure for this tutorial:
- Create Change Password HTML Form
- Create Database Connection with phpmyadmin
- Create a class file here the change function on this class file.
See Also
Step 1 : Create Change Password HTML Form
change_password.php
<!DOCTYPE html>
<html lang="en">
<head>
<title>Change Password in PHP with Mysql using OOPs concepts</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<?php
include_once "class/students.php";
$studentObj = new Students();
$success = "";
$error = "";
if (isset($_POST['submit'])) {
$newdata['new_password'] = md5($_POST['new_password']);
$newdata['old_password'] = md5($_POST['old_password']);
$newdata['con_password'] = md5($_POST['con_password']);
$id = $_SESSION['id'];
if ($newdata['new_password'] !== "" && $newdata['old_password'] !== "" && $newdata['con_password'] !== "") {
if ($newdata['new_password'] == $newdata['con_password']) {
if ($studentObj->changePassword($id)) {
$success = "Your new password update successfully.";
}else{
$error = "Old Password is not match";
}
}else{
$error = "New password and confirm password do not matched";
}
}else{
$error = "Please fill the all fields";
}
}
?>
<body class="hold-transition login-page">
<div class="login-box">
<div class="login-logo">
<a href=""><b>Change Password</b></a>
</div>
<?php
if (!empty($error)) {
echo "<div class='alert alert-danger alert-dismissible'>
<button type='button' class='close' data-dismiss='alert'>×</button>$error
</div>";
} elseif (!empty($success)) {
echo "<div class='alert alert-success alert-dismissible'>
<button type='button' class='close' data-dismiss='alert'>×</button>$success
</div>";
}
?>
<div class="card">
<div class="card-body login-card-body">
<p class="login-box-msg">Are you want to change Password?</p>
<form action="" method="post">
<div class="input-group mb-3">
<input type="password" name="old_password" class="form-control" placeholder="Old Password" required="">
<div class="input-group-append">
<div class="input-group-text">
<span class="fa fa-lock"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="password" name="new_password" class="form-control" placeholder="New Password" required="">
<div class="input-group-append">
<div class="input-group-text">
<span class="fa fa-lock"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="password" name="con_password" class="form-control" placeholder="Confirm Password" required="">
<div class="input-group-append">
<div class="input-group-text">
<span class="fa fa-lock"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-6">
<div class="icheck-primary">
<a href="home.php" class="text-center">Home Page</a>
</div>
</div>
<div class="col-6">
<input type="submit" name="submit" class="btn btn-primary" value="Change Password">
</div>
</div>
</form>
</div>
</div>
</div>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
</body>
</html>
Output
Step 2 : Create Database Connection with phpmyadmin
database.php
<?php
class Database{
protected $localhost = "localhost";
protected $servername = "root";
protected $password = "";
protected $database = "scholarship";
public $con;
public function connection(){
// Create connection
$this->con = new mysqli($this->localhost, $this->servername, $this->password, $this->database);
// Check connection
if ($this->con->connect_error) {
die("Connection failed: " . $this->con->connect_error);
}
return $this->con;
}
}
Step 3: Create a class file here the change function on this class file.
Students.php
<?php
session_start();
include_once "database.php";
class Students {
public $studentTable;
public $dbObj;
public $con;
public function __construct() {
$this->studentTable = "students";
$this->dbObj = new Database();
$this->con = $this->dbObj->connection();
}
public function changePassword($id){
$new_password = md5($_POST['new_password']);
$old_password = md5($_POST['old_password']);
$con_password = md5($_POST['con_password']);
if(!empty($new_password) && !empty($old_password) && !empty($con_password)){
if($new_password == $con_password){
$query = "SELECT * FROM $this->studentTable WHERE id = '$id'";
$result = $this->con->query($query);
if ($result->num_rows > 0 ) {
$row = $result->fetch_assoc();
$db_password = $row['password'];
if($db_password == $old_password){
$update = "UPDATE $this->studentTable SET password = '$new_password' WHERE id = '$id'";
if ($this->con->query($update)==true) {
return true;
}else{
return false;
}
}else{
return false;
}
}else{
return false;
}
}else{
return false;
}
}
}
}
$studentObj = new Students();
You can always support by sharing on social media or recommending my blog to your friends and colleagues.
If you have any suggestions / problems about this tutorial, please comment on the form below.😊
Post a Comment