<?php session_start(); include_once('../db/saucerer.php'); // Define variables and initialize with empty values $id = $name = $token = $access = ""; $id_err = $name_err = $token_err = $access_err = ""; // Generating a random number date_default_timezone_set('Africa/Kampala'); $today = date("His-dmY",time()); $code1 = rand(1,9); $code2 = rand(1,9); $code3 = $code1 * $code2; $tokens = "$code3-$today"; // Check if the user is logged in, if not then redirect him to login page if(!isset($_SESSION["failed"]) || $_SESSION["failed"] != true){ $failed = ""; } elseif(!isset($_SESSION["failed"]) || $_SESSION["failed"] == true){ $failed = $_SESSION['failed']; } // Processing form data when form is submitted if($_SERVER["REQUEST_METHOD"] == "POST"){ $name = trim($_POST["name"]); $token = trim($_POST["token"]); $access = trim($_POST["access"]); // Validate code if(empty(trim($_POST["access"]))){ $access_err = "Invalid access code!"; } else{ // Prepare a select statement $sql = "SELECT id FROM access WHERE code = ?"; if($stmt = mysqli_prepare($link, $sql)){ // Bind variables to the prepared statement as parameters mysqli_stmt_bind_param($stmt, "s", $param_access); // Set parameters $param_access = trim($_POST["access"]); // Attempt to execute the prepared statement if(mysqli_stmt_execute($stmt)){ /* store result */ mysqli_stmt_store_result($stmt); if(mysqli_stmt_num_rows($stmt) == 0){ $action = "Login"; $attempt = "Failed"; $access_err = "Invalid access code!"; // Prepare an insert statement $sql = "INSERT INTO secure (name, token, access, attempt, action) VALUES (?, ?, ?, ?, ?)"; if($stmt = mysqli_prepare($link, $sql)){ // Bind variables to the prepared statement as parameters mysqli_stmt_bind_param($stmt, "sssss", $param_name, $param_token, $param_access, $param_attempt, $param_action); // Set parameters $param_name = $name; $param_token = $token; $param_access = $access; $param_action = $action; $param_attempt = $attempt; // Attempt to execute the prepared statement if(mysqli_stmt_execute($stmt)){ // Store data in session variables $_SESSION["failed"] = true; $_SESSION["name"] = $name; } } } } else{ $_SESSION['error'] = "Oops! Something went wrong. Please try again later."; } // Close statement mysqli_stmt_close($stmt); } } // Check input errors before inserting in database if(empty($name_err) && empty($token_err) && empty($access_err)){ $action = "Login"; $attempt = "Succesful"; // Prepare an insert statement $sql = "INSERT INTO secure (name, token, access, attempt, action) VALUES (?, ?, ?, ?, ?)"; if($stmt = mysqli_prepare($link, $sql)){ // Bind variables to the prepared statement as parameters mysqli_stmt_bind_param($stmt, "sssss", $param_name, $param_token, $param_access, $param_attempt, $param_action); // Set parameters $param_name = $name; $param_token = $token; $param_access = $access; $param_action = $action; $param_attempt = $attempt; // Attempt to execute the prepared statement if(mysqli_stmt_execute($stmt)){ session_start(); // Store data in session variables $_SESSION["loggedin"] = true; $_SESSION["id"] = $id; $_SESSION["name"] = $name; $_SESSION["token"] = $token; $_SESSION["access"] = $access; // Redirect to login page header("location: ../"); } else{ $_SESSION['error'] = "Something went wrong. Please try again."; } // Close statement mysqli_stmt_close($stmt); } } // Close connection mysqli_close($link); } ?> <!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>Admin | Tourism Fraternity Network &copy;</title> <meta name="description" content="A premier online listing for businesses and travelers"> <link rel="shortcut icon" type="image/x-icon" href="../../assets/images/favicon.png" /> <!-- Social Share Data --> <meta content="text/html; charset=utf-8" name="Content-Type"> <meta property="og:type" content="article"> <meta property="og:image" content="https://tourismfraternity.com/assets/images/card/1.png"> <!-- Less than 65 characters --> <meta property="og:title" content="Admin | Tourism Fraternity Network &copy;"> <meta property="og:url" content="https://camonitor.online/Tourism/admin"> <!-- Less than 300 characters --> <meta property="og:description" content="A premier online listing for businesses and travelers"> <meta property="og:site_name" content="Admin | Tourism Fraternity Network &copy;"> <!-- Twitter Cards --> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:url" content="https://camonitor.online/Tourism/admin"> <meta name="twitter:title" content="Admin | Tourism Fraternity Network &copy;"> <meta name="twitter:description" content="A premier online listing for businesses and travelers"> <meta name="twitter:image" content="https://tourismfraternity.com/assets/images/card/1.png"> <meta name="twitter:site" content="@tourism_fraternity_network"> <meta name="twitter:creator" content="@iann_thecreator"> <!-- Bootstrap CSS --> <link rel="stylesheet" href="../css/bootstrap.css"> <link rel="stylesheet" href="../vendors/linericon/style.css"> <link rel="stylesheet" href="../css/font-awesome.min.css"> <link rel="stylesheet" href="../vendors/owl-carousel/owl.carousel.min.css"> <link rel="stylesheet" href="../vendors/bootstrap-datepicker/bootstrap-datetimepicker.min.css"> <link rel="stylesheet" href="../vendors/nice-select/css/nice-select.css"> <link rel="stylesheet" href="../vendors/owl-carousel/owl.carousel.min.css"> <!-- main css --> <link rel="stylesheet" href="../css/style.css"> <link rel="stylesheet" href="../css/responsive.css"> <!--Animations--> <link rel="stylesheet" type="text/css" href="../css/animations/style.css"> <!--Fontawesome 6--> <link href="../css/fontawesome/css/all.css" rel="stylesheet"> </head> <body> <!--================Header Area =================--> <header class="header_area"> <div class="container"> <nav class="navbar navbar-expand-lg navbar-light"> <!-- Brand and toggle get grouped for better mobile display --> <a class="navbar-brand logo_h" href="../../"><img src="../../assets/images/logo/2.png" alt="Tourism Fraternity Network Logo"></a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse offset" id="navbarSupportedContent"> <ul class="nav navbar-nav menu_nav ml-auto"> <li class="nav-item active"><a class="nav-link" href="../">Admin</a></li> <li class="nav-item"><a class="nav-link" href="../listings" >Listings</a></li> <li class="nav-item"><a class="nav-link" href="../blogs">Blogs</a></li> <li class="nav-item"><a class="nav-link" href="../events">Events</a></li> <li class="nav-item"><a class="nav-link" href="../inquiries">Inquiries</a></li> </ul> </div> </nav> </div> </header> <!--================Header Area =================--> <!--================Breadcrumb Area =================--> <section class="breadcrumb_area"> <div class="overlay bg-parallax" data-stellar-ratio="0.8" data-stellar-vertical-offset="0" data-background=""></div> <div class="container"> <div class="page-cover text-center"> <h2 class="page-cover-tittle">Secure</h2> <ol class="breadcrumb"> <li><a href="../">Home</a></li> <li class="active">Secure</li> </ol> </div> </div> </section> <!--================Breadcrumb Area =================--> <!--================Contact Area =================--> <section class="contact_area section_gap"> <!--================ Session Handler Start =================--> <div class="session_handler"> <?php if(isset($_SESSION['error'])){ echo "<div class='alert alert-danger text-center'> <button class='close'>&times;</button> ".$_SESSION['error']." </div>"; unset($_SESSION['error']); } if(isset($_SESSION['success'])){ echo "<div class='alert alert-success text-center'> <button class='close'>&times;</button> ".$_SESSION['success']." </div>"; unset($_SESSION['success']); } ?> </div> <!--================ Session Handler End =================--> <div class="container"> <div class="section_title text-center"> <p class="text-uppercase" style="font-size: 18px;">Secure</p> <h2 class="title_color">Validator</h2> <hr> </div> <div class="row"> <div class="col-md-3 col-1"> </div> <div class="col-md-6 col-10"> <form class="row contact_form" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post"> <div class="col-md-12"> <div class="form-group <?php echo (!empty($name_err)) ? 'has-error' : ''; ?>"> <?php if ($failed == true) { echo '<input class="form-control" type="text" name="name" value="'.$_SESSION["name"].'">'; } elseif ($failed != true) { echo '<input class="form-control" type="text" name="name" placeholder="Full Names">'; } ?> <span class="help-block"><?php echo $name_err; ?></span> </div> <div class="form-group <?php echo (!empty($access_err)) ? 'has-error' : ''; ?>"> <input class="form-control" type="text" name="access" placeholder="Access Code"> <span class="help-block"><?php echo $access_err; ?></span> </div> <input class="form-control" type="hidden" name="token" value="<?php echo $tokens; ?>"> </div> <div class="col-md-12 text-center"> <button type="submit" name="submit" class="btn theme_btn button_hover">Access Panel</button> </div> </form> </div> </div> </div> </section> <!--================Contact Area =================--> <!--================ start footer Area =================--> <footer class="footer-area section_gap"> <div class="container"> <div class="row footer-bottom d-flex justify-content-between align-items-center"> <div class="col-lg-3 col-sm-12 footer-social"> <a href="https://facebook.com/"><i class="fab fa-facebook"></i></a> <a href="https://x.com/"><i class="fab fa-x-twitter"></i></a> <a href="https://instagram.com/"><i class="fab fa-instagram"></i></a> <a href="https://wa.me/256785196012"><i class="fab fa-whatsapp"></i></a> </div> <p class="col-lg-6 col-sm-12 footer-text m-0 text-center"> <a href="#">Tourism Fraternity Network</a> &copy; <script>document.write(new Date().getFullYear());</script>, All Rights Reserved<span class="flash">.</span></p> <p class="col-lg-3 col-sm-12 footer-text m-0 text-center" style="font-size: 12px;">Powered by <a href="https://camonitor.online" target="_blank" style="color: #82848f;">Custom Assist Inc<span class="flash">.</span></a></p> </div> </div> </footer> <!--================ End footer Area =================--> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="../js/jquery-3.2.1.min.js"></script> <script src="../js/popper.js"></script> <script src="../js/bootstrap.min.js"></script> <script src="../vendors/owl-carousel/owl.carousel.min.js"></script> <script src="../js/jquery.ajaxchimp.min.js"></script> <script src="../js/mail-script.js"></script> <script src="../vendors/bootstrap-datepicker/bootstrap-datetimepicker.min.js"></script> <script src="../vendors/nice-select/js/jquery.nice-select.js"></script> <script src="../js/mail-script.js"></script> <script src="../js/stellar.js"></script> <script src="../vendors/lightbox/simpleLightbox.min.js"></script> <script src="../js/custom.js"></script> <script src="../js/video-on-scroll.js"></script> </body> </html>