JezK
Edit File: changePassword.php
<?php $currentPage="changePassword"; include("header.php"); if(isset($_SESSION['updateFailed'])) { echo "<script>alert('Error!!! Unable to change password. Internal server error.');</script>"; unset($_SESSION['updateFailed']); } if(isset($_SESSION['updateSuccess'])) { echo "<script>alert('Password updated successfully.');</script>"; unset($_SESSION['updateSuccess']); } ?> <div id="page-wrapper"> <div class="container-fluid"> <!-- Page Heading --> <div class="row"> <div class="col-lg-12"> <h1 class="page-header text-center"> <small style="color: #333333;">Change Password </small> </h1> </div> </div> <form id="changePassword" action="app/changePasswordApp.php" onsubmit="return validatePassword()" method="post"> <div class="row"> <div class="col-md-6 col-md-offset-3 text-center"> <div class="text-left passwordBlock" style="display:inline-block;text-align:left;"> <div class="form-group row"> <label for="oldPassword" class="col-md-6">Old Password:</label> <input type="password" maxlength="30" name="oldPassword" id="oldPassword" class="col-md-6 cs-password" autofocus> </div> <div class="form-group row"> <label for="newPassword" class="col-md-6">New Password:</label> <input type="password" maxlength="30" name="newPassword" id="newPassword" class="col-md-6 cs-password"> </div> <div class="form-group row"> <label for="confirmPassword" class="col-md-6">Confirm Password:</label> <input type="password" maxlength="30" name="confirmPassword" id="confirmPassword" class="col-md-6 cs-password"> </div> <!-- Password Note --> <div class="form-group row"> <div class="col-md-12" style="color:#cc0000; font-size:13px; margin-top:-10px; margin-bottom:10px;"> <b>Note:</b> Password must be minimum 8 characters and include at least 1 uppercase, 1 lowercase, 1 number, and 1 special character. </div> </div> <!-- FIXED: Removed backtick --> <div class="col-md-6 text-center"> <input type="submit" value="Submit" class="btn btn-cs"> </div> </div> </div> </div> </form> </div> </div> <?php include("footer.php"); ?> <script> function validatePassword() { var oldPassword = document.getElementById('oldPassword'); var newPassword = document.getElementById('newPassword'); var confirmPassword = document.getElementById('confirmPassword'); // Strong password rule var passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{12,}$/; // Old Password Empty if (oldPassword.value.trim().length == 0) { alert('Old Password must not be empty.'); oldPassword.focus(); return false; } // New or Confirm Empty if (newPassword.value.trim().length == 0) { alert('New Password must not be empty.'); newPassword.focus(); return false; } if (confirmPassword.value.trim().length == 0) { alert('Confirm Password must not be empty.'); confirmPassword.focus(); return false; } // Strong Password Check if (!passwordRegex.test(newPassword.value)) { alert( 'Password must contain:\n' + '- Minimum 12 characters\n' + '- At least 1 uppercase\n' + '- At least 1 lowercase\n' + '- At least 1 number\n' + '- At least 1 special character' ); newPassword.value = ""; confirmPassword.value = ""; newPassword.focus(); return false; } // Confirm Password Match if (confirmPassword.value !== newPassword.value) { alert('Password mismatch.'); newPassword.value = ""; confirmPassword.value = ""; newPassword.focus(); return false; } return true; } </script>