140 lines
6.6 KiB
PHP
140 lines
6.6 KiB
PHP
<?php
|
|
session_start();
|
|
error_reporting(0);
|
|
date_default_timezone_set('Asia/Shanghai');
|
|
|
|
include 'NoDirectPhpAcess.php';
|
|
include "get_mysql_credentials.php"; // Database credentials
|
|
error_reporting(E_ALL);
|
|
ini_set('display_errors', 1);
|
|
|
|
$con = mysqli_connect("localhost", $mysql_username, $mysql_password, "lrr");
|
|
|
|
if (mysqli_connect_errno()) {
|
|
die("Connection failed: " . mysqli_connect_error());
|
|
}
|
|
|
|
// Check if user_id is set in the session
|
|
if (!isset($_SESSION['user_id'])) {
|
|
echo '<div class="alert alert-danger" role="alert">Session expired. Please log in again.</div>';
|
|
exit(); // Stop script execution if user_id is not set
|
|
}
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
|
// Get the security questions and answers from the form
|
|
$question1 = mysqli_real_escape_string($con, $_POST['security_question1']);
|
|
$answer1 = strtolower(mysqli_real_escape_string($con, $_POST['security_answer1']));
|
|
$question2 = mysqli_real_escape_string($con, $_POST['security_question2']);
|
|
$answer2 = strtolower(mysqli_real_escape_string($con, $_POST['security_answer2']));
|
|
|
|
// Get the user ID and user type from the session
|
|
$user_id = $_SESSION['user_id']; // Use user_id from session
|
|
$user_type = $_SESSION['user_type']; //Get user type from session
|
|
$email = $_SESSION['user_email'];
|
|
$student_id = isset($_SESSION['user_student_id']) ? $_SESSION['user_student_id'] : NULL; //Handle student_id for students
|
|
|
|
// Prepare SQL statement
|
|
if($user_type == 'Student') {
|
|
$sql = "INSERT INTO password_recovery_security_questions (user_id,user_type, student_id, email, question1, answer1, question2, answer2)
|
|
VALUES ('$user_id', '$user_type', '$student_id', '$email', '$question1', '$answer1', '$question2', '$answer2')
|
|
ON DUPLICATE KEY UPDATE
|
|
question1='$question1',
|
|
answer1='$answer1',
|
|
question2='$question2',
|
|
answer2='$answer2'";
|
|
} else {
|
|
// For non-students (Lecturer, TA, etc.), exclude student_id
|
|
$sql = "INSERT INTO password_recovery_security_questions (user_id, user_type, email, question1, answer1, question2, answer2)
|
|
VALUES ('$user_id', '$user_type', '$email', '$question1', '$answer1', '$question2', '$answer2')
|
|
ON DUPLICATE KEY UPDATE
|
|
question1='$question1',
|
|
answer1='$answer1',
|
|
question2='$question2',
|
|
answer2='$answer2'";
|
|
}
|
|
|
|
// Execute the query and check for success
|
|
if (mysqli_query($con, $sql)) {
|
|
echo '<div id="alertgood" class="alert alert-success" role="alert">Password recovery details set successfully. Please remember your answers! Redirecting to Courses page...</div>';
|
|
echo '<script>';
|
|
echo ' setTimeout(function() {';
|
|
echo ' var userType = "'. $_SESSION['user_type'] . '";';
|
|
echo ' if (userType === "Admin") {';
|
|
echo ' window.location.href = "Admin.php";';
|
|
echo ' } else {';
|
|
echo ' window.location.href = "Courses.php";';
|
|
echo ' }';
|
|
echo ' }, 2000);';
|
|
echo '</script>';
|
|
} else {
|
|
echo '<div class="alert alert-danger" role="alert">Error: ' . mysqli_error($con) . '</div>';
|
|
}
|
|
}
|
|
|
|
mysqli_close($con);
|
|
?>
|
|
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Security Questions</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
</head>
|
|
<body>
|
|
<nav class="navbar navbar-expand-lg bg-body-tertiary" style="padding-left:180px;padding-right:150px;margin:auto;">
|
|
<div class="container-fluid">
|
|
|
|
<a class="navbar-brand" href="#"> <img src="logo.png" style="width:30px;height:30px;" alt="LRR Logo"> LRR </a>
|
|
</nav>
|
|
<br/><br/><br/>
|
|
<div class="container">
|
|
<div class="col-md-5"></div>
|
|
<form action="SecurityQuestions.php" method="POST">
|
|
<label> Set Password Recovery (Make sure you remember your answers) </label>
|
|
<div class="mb-3">
|
|
<br/>
|
|
<label for="security_question1" class="form-label">Select Security Question 1</label>
|
|
<select class="form-select" id="security_question1" name="security_question1" required>
|
|
<option value="">-- Select a question --</option>
|
|
<option value="What is the name of your first pet?">What is the name of your first pet?</option>
|
|
<option value="What is your mother's maiden name?">What is your mother's maiden name?</option>
|
|
<option value="What is the name of the town where you were born?">What is the name of the town where you were born?</option>
|
|
<option value="What was the name of your first best friend?">What was the name of your first best friend?</option>
|
|
<option value="What is your favorite book?">What is your favorite book?</option>
|
|
<option value="What was the make and model of your first car?">What was the make and model of your first car?</option>
|
|
<!-- Add more options if needed -->
|
|
</select>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="security_answer1" class="form-label">Answer 1</label>
|
|
<input type="text" class="form-control" id="security_answer1" name="security_answer1" required>
|
|
</div>
|
|
<br/>
|
|
<div class="mb-3">
|
|
<label for="security_question2" class="form-label">Select Security Question 2</label>
|
|
<select class="form-select" id="security_question2" name="security_question2" required>
|
|
<option value="">-- Select a question --</option>
|
|
<option value="What was the name of your first school?">What was the name of your first school?</option>
|
|
<option value="What is your favorite movie?">What is your favorite movie?</option>
|
|
<option value="What was your childhood nickname?">What was your childhood nickname?</option>
|
|
<option value="What is the name of your favorite teacher?">What is the name of your favorite teacher?</option>
|
|
<option value="What street did you grow up on?">What street did you grow up on?</option>
|
|
<option value="What is your favorite food?">What is your favorite food?</option>
|
|
<!-- Add more options if needed -->
|
|
</select>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="security_answer2" class="form-label">Answer 2</label>
|
|
<input type="text" class="form-control" id="security_answer2" name="security_answer2" required>
|
|
</div>
|
|
|
|
<br/>
|
|
<button id="submit_recovery" type="submit" class="btn btn-primary">Save Answers</button>
|
|
</form>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|