File "reset_password_new.php"
Full path: /home/mysamm/public_html/mysamm_login/reset_password_new.php
File
size: 9.81 B
MIME-type: text/x-php; charset=us-ascii
Charset: utf-8
Download Open Edit Advanced Editor &nnbsp; Back
<?php
include("header.php");
if (!isset($_SESSION['user_type']) ) {
// If the user is not admin, redirect or show an error
header("Location: index.php");
exit();
}
if ($_SESSION['user_id']==14 ) {
// If the user is not admin, redirect or show an error
header("Location: login.php");
exit();
}
$msg='';
$msgtype='';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$old_password = trim($_POST['old_password']);
$new_password = trim($_POST['new_password']);
$confirm_new_password = trim($_POST['confirm_new_password']);
// Validate fields
if (empty($old_password) || empty($new_password) || empty($confirm_new_password)) {
$msg = "All fields are required!";
$msgtype = "danger";
} elseif ($new_password !== $confirm_new_password) {
$msg = "Passwords do not match!";
$msgtype = "danger";
} elseif (strlen($new_password) < 8) {
$msg = "Password must be at least 8 characters long!";
$msgtype = "danger";
} else {
// Secure password hashing
$hashedPassword = password_hash($new_password, PASSWORD_BCRYPT);
// Database connection
$db = new Connection();
$user_id = $_SESSION['user_id'];
$res = $db->QueryCount("SELECT * FROM admin_users WHERE id = '$user_id' and status = 0");
if ($res > 0) {
$user = $db->GetRow("SELECT * FROM admin_users WHERE id = '$user_id' and status = 0");
$storedHashedPassword = $user['password'];
//print_r($storedHashedPassword);
//die();
if (password_verify($old_password, $storedHashedPassword)) {
date_default_timezone_set("Asia/Kolkata");
$updated_at=date("Y-m-d H:i:s");
$update = $db->execute("UPDATE admin_users SET password = '$hashedPassword',updated_at = '$updated_at' WHERE id = $user_id");
if ($update) {
$msgtype = "success";
$msg = "New Password Updated!";
header("Location: reset_password.php");
exit();
} else {
$msgtype = "danger";
$msg = "Error" . mysqli_connect_errno();
}
} else {
$msgtype = "warning";
$msg = "Invalid Password!";
}
} else {
$msgtype = "warning";
$msg = "Invalid Password!";
}
}
header("Location: reset_password.php");
}
?>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<div class="container">
<div class="row justify-content-center" >
<div class="col-md-4">
<div class="card">
<div class="card-header text-center">
<h3 class="card-title">Reset Password</h3>
</div>
<div class="card-body">
<?php
if (isset($msg)) {
if(!empty($msg))
{
echo '<div class="alert alert-' . htmlspecialchars($msgtype) . ' text-center" role="alert">' . htmlspecialchars($msg) . '</div>';
}
}
?>
<form method="post" action="" id="passwordForm">
<div class="form-group">
<label for="old_password">Old Password<span class="text-danger">*</span>:</label>
<div class="input-group">
<input type="password" id="old_password" name="old_password" class="form-control" required />
<div class="input-group-append">
<span class="input-group-text" onclick="togglePassword('old_password', 'toggleIcon_old')">
<i id="toggleIcon_old" class="fa fa-eye"></i>
</span>
</div>
</div>
</div>
<div class="form-group">
<label for="new_password">New Password<span class="text-danger">*</span>:</label>
<div class="input-group">
<input type="password" id="new_password" name="new_password" class="form-control" required />
<div class="input-group-append">
<span class="input-group-text" onclick="togglePassword('new_password', 'toggleIcon_new')">
<i id="toggleIcon_new" class="fa fa-eye"></i>
</span>
</div>
<p id="error-message" class="text-sm mt-2"></p>
</div>
</div>
<div class="form-group">
<label for="confirm_new_password">Confirm New Password<span class="text-danger">*</span>:</label>
<div class="input-group">
<input type="password" id="confirm_new_password" name="confirm_new_password" class="form-control" required />
<div class="input-group-append">
<span class="input-group-text" onclick="togglePassword('confirm_new_password', 'toggleIcon_confirm')">
<i id="toggleIcon_confirm" class="fa fa-eye"></i>
</span>
</div>
</div>
<p id="confirm-error-message" class="text-sm mt-2"></p>
</div>
<p id="message"></p>
<!--<button type="submit" name="reset_request" class="btn btn-primary btn-block" id="submit-btn">Submit</button>-->
<button id="submit-btn" disabled class="w-full mt-4 p-2 bg-gray-400 text-white rounded-lg cursor-not-allowed transition-all">Submit</button>
<div class="text-center" style="margin-top: 10px;">
<a href="login.php">Back to Portal</a>
</div>
</form><!--
<h3>Password Requirements:</h3>
<ul class="b">
<li>Minimum length: Your password must be at least 10 characters long.</li>
<li>Must contain at least one letter: It should include at least one letter (uppercase or lowercase).</li>
<li>Must contain at least one number: Your password must have at least one digit (0-9).</li>
<li>Must contain at least one special character: Include at least one of the following special characters: !@#$%^&*()_+.</li>
<ul>-->
</div>
</div>
</div>
</div>
</div>
<style>
#error-message {
color:red;
}
#confirm-error-message{
color:red;
}
</style>
<script>
function togglePassword(inputId, iconId) {
var input = document.getElementById(inputId);
var icon = document.getElementById(iconId);
if (input.type === "password") {
input.type = "text";
icon.classList.remove("fa-eye");
icon.classList.add("fa-eye-slash");
} else {
input.type = "password";
icon.classList.remove("fa-eye-slash");
icon.classList.add("fa-eye");
}
}
$(document).ready(function () {
function validatePassword() {
let password = $("#new_password").val();
let confirmPassword = $("#confirm_new_password").val();
let minLength = password.length >= 10;
let specialChar = /[@#$%&]/.test(password);
let upperCase = /[A-Z]/.test(password);
let lowerCase = /[a-z]/.test(password);
let isValid = minLength && specialChar && upperCase && lowerCase;
let errorMessage = $("#error-message");
let confirmErrorMessage = $("#confirm-error-message");
if (!minLength) {
errorMessage.text("Password must be at least 10 characters long.").removeClass("text-green-500").addClass("text-red-500");
} else if (!specialChar) {
errorMessage.text("Password must include at least one of @, #, $, %, &.").removeClass("text-green-500").addClass("text-red-500");
} else if (!upperCase) {
errorMessage.text("Password must include at least one uppercase letter.").removeClass("text-green-500").addClass("text-red-500");
} else if (!lowerCase) {
errorMessage.text("Password must include at least one lowercase letter.").removeClass("text-green-500").addClass("text-red-500");
} else {
errorMessage.text("Password is strong!").removeClass("text-red-500").addClass("text-green-500");
}
if (confirmPassword.length > 0) {
if (password !== confirmPassword) {
confirmErrorMessage.text("Passwords do not match.").removeClass("text-green-500").addClass("text-red-500");
isValid = false;
} else {
confirmErrorMessage.text("Passwords match!").removeClass("text-red-500").addClass("text-green-500");
}
} else {
confirmErrorMessage.text("");
}
if (isValid) {
$("#submit-btn").removeAttr("disabled").removeClass("bg-gray-400 cursor-not-allowed").addClass("bg-blue-500 hover:bg-blue-600 cursor-pointer");
} else {
$("#submit-btn").attr("disabled", "disabled").removeClass("bg-blue-500 hover:bg-blue-600 cursor-pointer").addClass("bg-gray-400 cursor-not-allowed");
}
}
$("#new_password, #confirm_new_password").on("input", validatePassword);
});
</script>