1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
<?php
// Initialize the session
session_start();
// Check if the user is already logged in, if yes then redirect him to welcome page
if (isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true) {
header("location: /".$_SESSION["type"].".php");
exit;
}
// Include config file
require_once "config.php";
// Define variables and initialize with empty values
$code = "";
$code_err = "";
$verification_success = false;
// Processing form data when form is submitted
if ($_SERVER["REQUEST_METHOD"] == "GET") {
$code_err = "Invalid code.";
if (isset($_GET["code"]) && (strlen($_GET["code"]) == 16)) {
$code_err = "";
$code = $_GET["code"];
}
// Validate credentials
if (empty($code_err)) {
// Prepare a select statement
$sql = "SELECT id, username, status, type FROM users WHERE verifycode = ?";
if ($stmt = mysqli_prepare($link, $sql)) {
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "s", $param_code);
// Set parameters
$param_code = $code;
// Attempt to execute the prepared statement
if (mysqli_stmt_execute($stmt)) {
// Store result
mysqli_stmt_store_result($stmt);
// Check if username exists, if yes then verify password
if (mysqli_stmt_num_rows($stmt) == 1) {
// Bind result variables
mysqli_stmt_bind_result($stmt, $id, $username, $status, $type);
if (mysqli_stmt_fetch($stmt)){
if ($status == "unverified") {
// set verified
$sql = "UPDATE users SET status = 'verified' WHERE id = ?";
if ($stmt = mysqli_prepare($link, $sql)) {
mysqli_stmt_bind_param($stmt, "s", $param_id);
$param_id = $id;
if (mysqli_stmt_execute($stmt) && mysqli_stmt_affected_rows($stmt) == 1) {
$verification_success = true;
} else {
echo "SQL error, ask arf20.";
}
}
} else {
$code_err = "Already verified.";
}
}
} else {
// Display an error message if username doesn't exist
$code_err = "Code does not exist.";
}
} else{
echo "Oops! Something went wrong. Please try again later.";
}
// Close statement
mysqli_stmt_close($stmt);
}
}
// Close connection
mysqli_close($link);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSTIMS Login</title>
<link rel="stylesheet" type="text/css" href="/style.css">
</head>
<body>
<header><a href="https://arf20.com/">
<img src="arfnet_logo.png" width="64"><span class="title"><strong>ARFNET</strong></span>
</a></header>
<hr>
<main>
<div class="wrapper">
<h2>CSTIMS Verification</h2>
<?php
if ($verification_success) echo "Verification successful, welcome to ARFNET $username.";
else echo "Verification failed: ".$code_err;
?>
</div>
</main>
</body>
</html>
|