This page lists files in the current directory. You can view content, get download/execute commands for Wget, Curl, or PowerShell, or filter the list using wildcards (e.g., `*.sh`).
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/class.user.php'
<?php
class USER
{
private $db;
function __construct($DB_con)
{
$this->db = $DB_con;
}
public function register($fname,$lname,$uname,$umail,$upass)
{
try
{
$new_password = password_hash($upass, PASSWORD_DEFAULT);
$stmt = $this->db->prepare("INSERT INTO users_table(user_name,user_email,user_pass)VALUES(:uname, :umail, :upass)");
$stmt->bindparam(":uname", $uname);
$stmt->bindparam(":umail", $umail);
$stmt->bindparam(":upass", $new_password);
$stmt->execute();
return $stmt;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
public function login($uname,$umail,$upass)
{
try
{
$stmt = $this->db->prepare("SELECT * FROM users_table WHERE user_name=:uname OR user_email=:umail LIMIT 1");
$stmt->execute(array(':uname'=>$uname, ':umail'=>$umail));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() > 0)
{
if(password_verify($upass, $userRow['user_pass']))
{
$_SESSION['user_session'] = $userRow['user_id'];
return true;
}
else
{
return false;
}
}
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
public function is_loggedin()
{
if(isset($_SESSION['user_session']))
{
return true;
}
}
public function redirect($url)
{
header("Location: $url");
}
public function logout()
{
session_destroy();
unset($_SESSION['user_session']);
return true;
}
}
?>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/config.php'
<?php
$db_server = 'localhost';
$db_name = 'aasict_db';
$db_user = 'mdrone';
$db_password = 'einstein';
$no_of_records_per_page = 100;
$appname = 'Tech-Geek Hall of Fame Nominees';
$link = mysqli_connect($db_server, $db_user, $db_password, $db_name);
$query = "SHOW VARIABLES LIKE 'character_set_database'";
if ($result = mysqli_query($link, $query)) {
while ($row = mysqli_fetch_row($result)) {
if (!$link->set_charset($row[1])) {
printf("Error loading character set $row[1]: %s\n", $link->error);
exit();
} else {
// printf("Current character set: %s", $link->character_set_name());
}
}
}
try
{
$DB_con = new PDO("mysql:host={$db_server};dbname={$db_name}",$db_user,$db_password);
$DB_con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo $e->getMessage();
}
include_once 'class.user.php';
$user = new USER($DB_con);
?>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/error.php'
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Error</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
</head>
<body>
<section class="pt-5">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="page-header">
<h1>Invalid Request</h1>
</div>
<div class="alert alert-danger fade-in">
<p>Sorry, you've made an invalid request. Please <a href="index.php" class="alert-link">go back</a> and try again.</p>
</div>
</div>
</div>
</div>
</section>
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
</body>
</html>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/export.php'
<?php
// Load the database configuration file
include_once 'config.php';
include_once 'helpers.php';
// Filter the excel data
function filterData(&$str){
$str = preg_replace("/\t/", "\\t", $str);
$str = preg_replace("/,/", " ", $str);
$str = preg_replace("/\r?\n/", "\\n", $str);
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
// Excel file name for download
$fileName = member."_".date('Y-m-d') . ".xlsx";
$sql = "SHOW COLUMNS FROM member";
if($output = mysqli_query($link,$sql)):
$fields = array();
while($result = mysqli_fetch_assoc($output)):
$fields[] = $result['Field'];
endwhile;
endif;
// Display column names as first row
$excelData = implode("\t", array_values($fields)) . "\n";
// Fetch records from database
$query = "SELECT * FROM member";
$response = mysqli_query($link, $query);
if(mysqli_num_rows($response) > 0){
// Output each row of the data
$lineData = [];
while ($lineData = mysqli_fetch_array($response,MYSQLI_ASSOC)) {
array_walk($lineData, 'filterData');
$excelData .= implode("\t", array_values($lineData)) . "\n";
}
} else {
$excelData .= 'No records found...'. "\n";
}
// Headers for download
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=\"$fileName\"");
// Render excel data
echo $excelData;
exit;
?>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/helpers.php'
<?php
// retrieves and enhances postdata table keys and values on CREATE and UPDATE events
function parse_columns($table_name, $postdata) {
global $link;
$vars = array();
// prepare a default return value
$default = null;
// get all columns, including the ones not sent by the CRUD form
$sql = "SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT, EXTRA
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = '".$table_name."'";
$result = mysqli_query($link,$sql);
while($row = mysqli_fetch_assoc($result))
{
$debug = 0;
if ($debug) {
echo "<pre>";
// print_r($postdata);
echo $row['COLUMN_NAME'] . "\t";
echo $row['DATA_TYPE'] . "\t";
echo $row['IS_NULLABLE'] . "\t";
echo $row['COLUMN_DEFAULT'] . "\t";
echo $row['EXTRA'] . "\t";
echo $default . "\n";
echo "</pre>";
}
switch($row['DATA_TYPE']) {
// fix "Incorrect decimal value: '' error in STRICT_MODE or STRICT_TRANS_TABLE
// @see https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html
case 'decimal':
$default = 0;
break;
// fix "Incorrect datetime value: '0' " on non-null datetime columns
// with 'CURRENT_TIMESTAMP' default not being set automatically
// and refusing to take NULL value
case 'datetime':
if ($row['COLUMN_DEFAULT'] != 'CURRENT_TIMESTAMP' && $row['IS_NULLABLE'] == 'YES') {
$default = null;
} else {
$default = date('Y-m-d H:i:s');
}
if ($postdata[$row['COLUMN_NAME']] == 'CURRENT_TIMESTAMP') {
$_POST[$row['COLUMN_NAME']] = date('Y-m-d H:i:s');
}
break;
}
// check that fieldname was set before sending values to pdo
$vars[$row['COLUMN_NAME']] = isset($_POST[$row['COLUMN_NAME']]) && $_POST[$row['COLUMN_NAME']] ? trim($_POST[$row['COLUMN_NAME']]) : $default;
}
return $vars;
}
// get extra attributes for table keys on CREATE and UPDATE events
function get_columns_attributes($table_name, $column) {
global $link;
$sql = "SELECT COLUMN_DEFAULT, COLUMN_COMMENT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = '".$table_name."'
AND column_name = '".$column."'";
$result = mysqli_query($link,$sql);
while($row = mysqli_fetch_assoc($result))
{
$debug = 0;
if ($debug) {
echo "<pre>";
print_r($row);
echo "</pre>";
}
return $row;
}
}
?>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/login.php'
<?php
@session_start();
require_once 'config.php';
if($user->is_loggedin()!="")
{
$user->redirect('member-index.php');
}
if(isset($_POST['btn-login']))
{
$uname = $_POST['txt_uname_email'];
$umail = $_POST['txt_uname_email'];
$upass = $_POST['txt_password'];
if($user->login($uname,$umail,$upass))
{
$user->redirect('member-index.php');
}
else
{
$error = "Oops! Something's Not Right. Please Try Again . . .";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?=$appname?> Login</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
<div class="form-container">
<form method="post">
<h2><?=$appname?> Sign In</h2><hr />
<?php
if(isset($error))
{
?>
<div class="alert alert-danger">
<i class="glyphicon glyphicon-warning-sign"></i> <?php echo $error; ?>
</div>
<?php
}
?>
<div class="form-group">
<input type="text" class="form-control" name="txt_uname_email" placeholder="Username or Email Address" required />
</div>
<div class="form-group">
<input type="password" class="form-control" name="txt_password" placeholder="Your Password" required />
</div>
<div class="clearfix"></div><hr />
<div class="form-group">
<button type="submit" name="btn-login" class="btn btn-block btn-primary">
<i class="glyphicon glyphicon-log-in"></i> SIGN IN
</button>
</div>
<br />
<div class="float-right">
<label><a href="sign-up.php" class="text-decoration-none"><b>~</b></a></label>
</div>
</form>
</div>
</div>
</body>
</html>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/logout.php'
<?php
@session_start();
session_destroy();
header('location:index.php');
?>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/member-create.php'
<?php
// Include config file
require_once "config.php";
require_once "helpers.php";
// Define variables and initialize with empty values
$name = "";
$nominated_by = "";
$year_inducted = "";
$vita = "";
$contributions = "";
$location = "";
$approved = "";
$name_err = "";
$nominated_by_err = "";
$year_inducted_err = "";
$vita_err = "";
$contributions_err = "";
$location_err = "";
$approved_err = "";
// Processing form data when form is submitted
if($_SERVER["REQUEST_METHOD"] == "POST"){
$name = trim($_POST["name"]);
$nominated_by = trim($_POST["nominated_by"]);
$year_inducted = trim($_POST["year_inducted"]);
$vita = trim($_POST["vita"]);
$contributions = trim($_POST["contributions"]);
$location = trim($_POST["location"]);
$approved = trim($_POST["approved"]);
$dsn = "mysql:host=$db_server;dbname=$db_name;charset=utf8mb4";
$options = [
PDO::ATTR_EMULATE_PREPARES => false, // turn off emulation mode for "real" prepared statements
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //turn on errors in the form of exceptions
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, //make the default fetch be an associative array
];
try {
$pdo = new PDO($dsn, $db_user, $db_password, $options);
} catch (Exception $e) {
error_log($e->getMessage());
exit('Something weird happened'); //something a user can understand
}
$vars = parse_columns('member', $_POST);
$stmt = $pdo->prepare("INSERT INTO member (name,nominated_by,year_inducted,vita,contributions,location,approved) VALUES (?,?,?,?,?,?,?)");
if($stmt->execute([ $name,$nominated_by,$year_inducted,$vita,$contributions,$location,$approved ])) {
$stmt = null;
header("location: member-index.php");
} else{
echo "Something went wrong. Please try again later.";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Create Record</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
</head>
<?php require_once('navbar.php'); ?>
<body>
<section class="pt-5">
<div class="container-fluid">
<div class="row">
<div class="col-md-6 mx-auto border border-danger">
<div class="page-header">
<h2>Create Database Record</h2>
</div>
<p>Please fill this form and submit to add a record to the database.</p>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<div class="form-group">
<label>Nominee</label>
<input type="text" name="name" maxlength="100"class="form-control" value="<?php echo $name; ?>">
<span class="form-text"><?php echo $name_err; ?></span>
</div>
<div class="form-group">
<label>Nominated By</label>
<input type="text" name="nominated_by" maxlength="100"class="form-control" value="<?php echo $nominated_by; ?>">
<span class="form-text"><?php echo $nominated_by_err; ?></span>
</div>
<div class="form-group">
<label>Year Nominated</label>
<input type="text" name="year_inducted" maxlength="10"class="form-control" value="<?php echo $year_inducted; ?>">
<span class="form-text"><?php echo $year_inducted_err; ?></span>
</div>
<div class="form-group">
<label>Districts/Schools/Entities Served</label>
<input type="text" name="vita" class="form-control" value="<?php echo $vita; ?>">
<span class="form-text"><?php echo $vita_err; ?></span>
</div>
<div class="form-group">
<label>Contributions to Tech-Geeks</label>
<input type="text" name="contributions" class="form-control" value="<?php echo $contributions; ?>">
<span class="form-text"><?php echo $contributions_err; ?></span>
</div>
<div class="form-group">
<label>Districts/Schools/Entities Served</label>
<input type="text" name="location" class="form-control" value="<?php echo $location; ?>">
<span class="form-text"><?php echo $location_err; ?></span>
</div>
<div class="form-group">
<label>approved</label>
<input type="number" name="approved" class="form-control" value="<?php echo $approved; ?>">
<span class="form-text"><?php echo $approved_err; ?></span>
</div>
<input type="submit" class="btn btn-primary" value="Submit">
<a href="member-index.php" class="btn btn-secondary">Cancel</a>
</form>
</div>
</div>
</div>
</section>
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
</body>
</html>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/member-delete.php'
<?php
// Process delete operation after confirmation
if(isset($_POST["member_id"]) && !empty($_POST["member_id"])){
// Include config file
require_once "config.php";
require_once "helpers.php";
// Prepare a delete statement
$sql = "DELETE FROM member WHERE member_id = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Set parameters
$param_id = trim($_POST["member_id"]);
// Bind variables to the prepared statement as parameters
if (is_int($param_id)) $__vartype = "i";
elseif (is_string($param_id)) $__vartype = "s";
elseif (is_numeric($param_id)) $__vartype = "d";
else $__vartype = "b"; // blob
mysqli_stmt_bind_param($stmt, $__vartype, $param_id);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Records deleted successfully. Redirect to landing page
header("location: member-index.php");
exit();
} else{
echo "Oops! Something went wrong. Please try again later.<br>".$stmt->error;
}
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
mysqli_close($link);
} else{
// Check existence of id parameter
$_GET["member_id"] = trim($_GET["member_id"]);
if(empty($_GET["member_id"])){
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php");
exit();
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>View Record</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
</head>
<?php require_once('navbar.php'); ?>
<body>
<section class="pt-5">
<div class="container-fluid">
<div class="row">
<div class="col-md-6 mx-auto">
<div class="page-header">
<h1>Delete Record</h1>
</div>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<div class="alert alert-danger fade-in">
<input type="hidden" name="member_id" value="<?php echo trim($_GET["member_id"]); ?>"/>
<p>Are you sure you want to delete this record?</p><br>
<p>
<input type="submit" value="Yes" class="btn btn-danger">
<a href="member-index.php" class="btn btn-secondary">No</a>
</p>
</div>
</form>
</div>
</div>
</div>
</section>
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
</body>
</html>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/member-index.php'
<?php
@session_start();
if ($_SERVER["SERVER_PORT"]!=443){ header("Location: https://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); exit(); }
require_once "config.php";
require_once "helpers.php";
// require_once "userauth.php";
if(!isset($_SESSION['user_session'])) {
header('Location: login.php');
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Tech-Geek Hall of Fame Nominees</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<script src="https://kit.fontawesome.com/6b773fe9e4.js" crossorigin="anonymous"></script>
<style type="text/css">
.page-header h2{
margin-top: 0;
}
table tr td:last-child a{
margin-right: 5px;
}
body {
font-size: 14px;
}
</style>
</head>
<?php require_once('navbar.php'); ?>
<body>
<section class="pt-5">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="page-header clearfix">
<h2 class="float-left">Hall of Fame Nominees Details</h2>
<a href="export.php" class="btn btn-success float-right">Export to Excel</a>
<a href="member-create.php" class="btn btn-success float-right mr-2">Add New Record</a>
<a href="member-index.php" class="btn btn-info float-right mr-2">Reset View</a>
<a href="index.php" class="btn btn-secondary float-right mr-2">Back</a>
</div>
<div class="form-row">
<form action="member-index.php" method="get">
<div class="col">
<span>Type in your search term and hit enter.<br/>
Click the empty search box and hit enter to restore the full listing.</span>
<input type="text" class="form-control" placeholder="Search this table" name="search">
<?php
if(isset($_REQUEST["search"])) {
echo "<span>You searched for <b>".$_REQUEST["search"]."</b></span>";
}
?>
</div>
</div>
</form>
<br>
<?php
// Highlight Matched Keywords
function highlight($text, $word){
$text = preg_replace('#'. preg_quote($word) .'#i', '<span style="background-color: #F9F902;">\\0</span>', $text);
return $text;
}
//Get current URL and parameters for correct pagination
$protocol = $_SERVER['SERVER_PROTOCOL'];
$domain = $_SERVER['HTTP_HOST'];
$script = $_SERVER['SCRIPT_NAME'];
$parameters = $_GET ? $_SERVER['QUERY_STRING'] : "" ;
$protocol=strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https')
=== FALSE ? 'http' : 'https';
//$currenturl = $protocol . '://' . $domain. $script . '?' . $parameters;
$currenturl = $script . '?' . $parameters;
//Pagination
if (isset($_GET['pageno'])) {
$pageno = $_GET['pageno'];
} else {
$pageno = 1;
}
//$no_of_records_per_page is set on the index page. Default is 10.
$offset = ($pageno-1) * $no_of_records_per_page;
$total_pages_sql = "SELECT COUNT(*) FROM member";
$result = mysqli_query($link,$total_pages_sql);
$total_rows = mysqli_fetch_array($result)[0];
$total_pages = ceil($total_rows / $no_of_records_per_page);
//Column sorting on column name
$orderBy = array('name', 'nominated_by', 'vita', 'contributions', 'location');
$order = 'member_id';
if (isset($_GET['order']) && in_array($_GET['order'], $orderBy)) {
$order = $_GET['order'];
}
//Column sort order
$sortBy = array('asc', 'desc'); $sort = 'desc';
if (isset($_GET['sort']) && in_array($_GET['sort'], $sortBy)) {
if($_GET['sort']=='asc') {
$sort='desc';
}
else {
$sort='asc';
}
}
// Attempt select query execution
$sql = "SELECT * FROM member ORDER BY $order $sort LIMIT $offset, $no_of_records_per_page";
$count_pages = "SELECT * FROM member";
if(!empty($_GET['search'])) {
$search = ($_GET['search']);
$sql = "SELECT * FROM member
WHERE CONCAT_WS (name,nominated_by,vita,contributions,location)
LIKE '%$search%'
ORDER BY $order $sort
LIMIT $offset, $no_of_records_per_page";
$count_pages = "SELECT * FROM member
WHERE CONCAT_WS (name,nominated_by,vita,contributions,location)
LIKE '%$search%'
ORDER BY $order $sort";
}
else {
$search = "";
}
if($result = mysqli_query($link, $sql)){
if(mysqli_num_rows($result) > 0){
if ($result_count = mysqli_query($link, $count_pages)) {
$total_pages = ceil(mysqli_num_rows($result_count) / $no_of_records_per_page);
}
$number_of_results = mysqli_num_rows($result_count);
echo " " . $number_of_results . " results - Page " . $pageno . " of " . $total_pages;
echo "<table class='table table-bordered table-striped'>";
echo "<thead>";
echo "<tr>";
echo "<th><a href=?search=$search&sort=&order=name&sort=$sort>Nominee</th>";
echo "<th><a href=?search=$search&sort=&order=nominated_by&sort=$sort>Nominated By</th>";
echo "<th><a href=?search=$search&sort=&order=vita&sort=$sort>Districts/Schools/Entities Served</th>";
echo "<th><a href=?search=$search&sort=&order=contributions&sort=$sort>Contributions to Tech-Geeks</th>";
echo "<th><a href=?search=$search&sort=&order=location&sort=$sort>Districts/Schools/Entities Served</th>";
echo "<th>Action</th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
while($row = mysqli_fetch_array($result)){
echo "<tr>";
echo "<td>" . highlight($row['name'],$search) . "</td>";echo "<td>" . highlight($row['nominated_by'],$search) . "</td>";echo "<td>" . highlight($row['vita'],$search) . "</td>";echo "<td>" . highlight($row['contributions'],$search) . "</td>";echo "<td>" . highlight($row['location'],$search) . "</td>";
echo "<td>";
echo "<a href='member-read.php?member_id=". $row['member_id'] ."' title='View Record' data-toggle='tooltip'><i class='far fa-eye'></i></a>";
echo "<a href='member-update.php?member_id=". $row['member_id'] ."' title='Update Record' data-toggle='tooltip'><i class='far fa-edit'></i></a>";
echo "<a href='member-delete.php?member_id=". $row['member_id'] ."' title='Delete Record' data-toggle='tooltip'><i class='far fa-trash-alt'></i></a>";
echo "</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
?>
<ul class="pagination" align-right>
<?php
$new_url = preg_replace('/&?pageno=[^&]*/', '', $currenturl);
?>
<li class="page-item"><a class="page-link" href="<?php echo $new_url .'&pageno=1' ?>">First</a></li>
<li class="page-item <?php if($pageno <= 1){ echo 'disabled'; } ?>">
<a class="page-link" href="<?php if($pageno <= 1){ echo '#'; } else { echo $new_url ."&pageno=".($pageno - 1); } ?>">Prev</a>
</li>
<li class="page-item <?php if($pageno >= $total_pages){ echo 'disabled'; } ?>">
<a class="page-link" href="<?php if($pageno >= $total_pages){ echo '#'; } else { echo $new_url . "&pageno=".($pageno + 1); } ?>">Next</a>
</li>
<li class="page-item <?php if($pageno >= $total_pages){ echo 'disabled'; } ?>">
<a class="page-item"><a class="page-link" href="<?php echo $new_url .'&pageno=' . $total_pages; ?>">Last</a>
</li>
</ul>
<?php
// Free result set
mysqli_free_result($result);
} else{
echo "<p class='lead'><em>No records were found.</em></p>";
}
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// Close connection
mysqli_close($link);
?>
</div>
</div>
</div>
</section>
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
<script type="text/javascript">
$(document).ready(function(){
$('[data-toggle="tooltip"]').tooltip();
});
</script>
</body>
</html>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/member-index2.php'
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Tech-Geek Hall of Fame Nominees</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<script src="https://kit.fontawesome.com/6b773fe9e4.js" crossorigin="anonymous"></script>
<style type="text/css">
.page-header h2{
margin-top: 0;
}
table tr td:last-child a{
margin-right: 5px;
}
body {
font-size: 14px;
}
</style>
</head>
<body>
<section class="pt-5">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="page-header clearfix">
<h2 class="float-left">Hall of Fame Nominees Details</h2>
<a href="export.php" class="btn btn-success float-right">Export to Excel</a>
<a href="member-index2.php" class="btn btn-info float-right mr-2">Reset View</a>
</div>
<div class="form-row">
<form action="member-index2.php" method="get">
<div class="col">
<span>Type in your search term and hit enter.<br/>
Click the empty search box and hit enter to restore the full listing.</span>
<input type="text" class="form-control" placeholder="Search this table" name="search">
<?php
if(isset($_REQUEST["search"])) {
echo "<span>You searched for <b>".$_REQUEST["search"]."</b></span>";
}
?>
</div>
</div>
</form>
<br>
<?php
// Include config file
require_once "config.php";
require_once "helpers.php";
// Highlight Matched Keywords
function highlight($text, $word){
$text = preg_replace('#'. preg_quote($word) .'#i', '<span style="background-color: #F9F902;">\\0</span>', $text);
return $text;
}
//Get current URL and parameters for correct pagination
$protocol = $_SERVER['SERVER_PROTOCOL'];
$domain = $_SERVER['HTTP_HOST'];
$script = $_SERVER['SCRIPT_NAME'];
$parameters = $_GET ? $_SERVER['QUERY_STRING'] : "" ;
$protocol=strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https')
=== FALSE ? 'http' : 'https';
//$currenturl = $protocol . '://' . $domain. $script . '?' . $parameters;
$currenturl = $script . '?' . $parameters;
//Pagination
if (isset($_GET['pageno'])) {
$pageno = $_GET['pageno'];
} else {
$pageno = 1;
}
//$no_of_records_per_page is set on the index page. Default is 10.
$offset = ($pageno-1) * $no_of_records_per_page;
$total_pages_sql = "SELECT COUNT(*) FROM member";
$result = mysqli_query($link,$total_pages_sql);
$total_rows = mysqli_fetch_array($result)[0];
$total_pages = ceil($total_rows / $no_of_records_per_page);
//Column sorting on column name
$orderBy = array('name', 'nominated_by', 'vita', 'contributions', 'location');
$order = 'member_id';
if (isset($_GET['order']) && in_array($_GET['order'], $orderBy)) {
$order = $_GET['order'];
}
//Column sort order
$sortBy = array('asc', 'desc'); $sort = 'desc';
if (isset($_GET['sort']) && in_array($_GET['sort'], $sortBy)) {
if($_GET['sort']=='asc') {
$sort='desc';
}
else {
$sort='asc';
}
}
// Attempt select query execution
$sql = "SELECT * FROM member WHERE approved = 0 ORDER BY $order $sort LIMIT $offset, $no_of_records_per_page";
$count_pages = "SELECT * FROM member WHERE approved = 0";
if(!empty($_GET['search'])) {
$search = ($_GET['search']);
$sql = "SELECT * FROM member
WHERE approved = 0 AND CONCAT_WS (name,nominated_by,vita,contributions,location)
LIKE '%$search%'
ORDER BY $order $sort
LIMIT $offset, $no_of_records_per_page";
$count_pages = "SELECT * FROM member
WHERE approved = 0 AND CONCAT_WS (name,nominated_by,vita,contributions,location)
LIKE '%$search%'
ORDER BY $order $sort";
}
else {
$search = "";
}
if($result = mysqli_query($link, $sql)){
if(mysqli_num_rows($result) > 0){
if ($result_count = mysqli_query($link, $count_pages)) {
$total_pages = ceil(mysqli_num_rows($result_count) / $no_of_records_per_page);
}
$number_of_results = mysqli_num_rows($result_count);
echo " " . $number_of_results . " results - Page " . $pageno . " of " . $total_pages;
echo "<table class='table table-bordered table-striped'>";
echo "<thead>";
echo "<tr>";
echo "<th><a href=?search=$search&sort=&order=name&sort=$sort>Nominee</th>";
echo "<th><a href=?search=$search&sort=&order=nominated_by&sort=$sort>Nominated By</th>";
echo "<th><a href=?search=$search&sort=&order=vita&sort=$sort>Background/Work Experience</th>";
echo "<th><a href=?search=$search&sort=&order=contributions&sort=$sort>Contributions to Tech-Geeks</th>";
echo "<th><a href=?search=$search&sort=&order=location&sort=$sort>Districts/Schools/Entities Served</th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
while($row = mysqli_fetch_array($result)){
echo "<tr>";
echo "<td><a href='member-read.php?member_id=".$row['member_id']."'>" . highlight($row['name'],$search) . "</a></td>";
echo "<td>" . highlight($row['nominated_by'],$search) . "</td>";
echo "<td>" . highlight($row['vita'],$search) . "</td>";
echo "<td>" . highlight($row['contributions'],$search) . "</td>";
echo "<td>" . highlight($row['location'],$search) . "</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
?>
<ul class="pagination" align-right>
<?php
$new_url = preg_replace('/&?pageno=[^&]*/', '', $currenturl);
?>
<li class="page-item"><a class="page-link" href="<?php echo $new_url .'&pageno=1' ?>">First</a></li>
<li class="page-item <?php if($pageno <= 1){ echo 'disabled'; } ?>">
<a class="page-link" href="<?php if($pageno <= 1){ echo '#'; } else { echo $new_url ."&pageno=".($pageno - 1); } ?>">Prev</a>
</li>
<li class="page-item <?php if($pageno >= $total_pages){ echo 'disabled'; } ?>">
<a class="page-link" href="<?php if($pageno >= $total_pages){ echo '#'; } else { echo $new_url . "&pageno=".($pageno + 1); } ?>">Next</a>
</li>
<li class="page-item <?php if($pageno >= $total_pages){ echo 'disabled'; } ?>">
<a class="page-item"><a class="page-link" href="<?php echo $new_url .'&pageno=' . $total_pages; ?>">Last</a>
</li>
</ul>
<?php
// Free result set
mysqli_free_result($result);
} else{
echo "<p class='lead'><em>No records were found.</em></p>";
}
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// Close connection
mysqli_close($link);
?>
</div>
</div>
</div>
</section>
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
<script type="text/javascript">
$(document).ready(function(){
$('[data-toggle="tooltip"]').tooltip();
});
</script>
</body>
</html>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/member-read.php'
<?php
// Check existence of id parameter before processing further
$_GET["member_id"] = trim($_GET["member_id"]);
if(isset($_GET["member_id"]) && !empty($_GET["member_id"])){
// Include config file
require_once "config.php";
require_once "helpers.php";
// Prepare a select statement
$sql = "SELECT * FROM member WHERE member_id = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Set parameters
$param_id = trim($_GET["member_id"]);
// Bind variables to the prepared statement as parameters
if (is_int($param_id)) $__vartype = "i";
elseif (is_string($param_id)) $__vartype = "s";
elseif (is_numeric($param_id)) $__vartype = "d";
else $__vartype = "b"; // blob
mysqli_stmt_bind_param($stmt, $__vartype, $param_id);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
$result = mysqli_stmt_get_result($stmt);
if(mysqli_num_rows($result) == 1){
/* Fetch result row as an associative array. Since the result set
contains only one row, we don't need to use while loop */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
} else{
// URL doesn't contain valid id parameter. Redirect to error page
header("location: error.php");
exit();
}
} else{
echo "Oops! Something went wrong. Please try again later.<br>".$stmt->error;
}
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
mysqli_close($link);
} else{
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php");
exit();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>View Nominee Record</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
</head>
<?php //require_once('navbar.php'); ?>
<body>
<section class="pt-5">
<div class="container-fluid">
<div class="row">
<div class="col-md-6 mx-auto border border-danger">
<div class="page-header">
<h2 style="color:Tomato">View Nominee Record</h2>
</div>
<div class="form-group border border-success">
<h5>Nominee</h5>
<p class="form-weight-bold px-2"><?php echo $row["name"]; ?></p>
</div><div class="form-group border border-success">
<h5>Nominated By</h5>
<p class="form-weight-bold px-2"><?php echo $row["nominated_by"]; ?></p>
</div><div class="form-group border border-success">
<h5>Year Nominated</h5>
<p class="form-weight-bold px-2"><?php echo $row["year_inducted"]; ?></p>
</div><div class="form-group border border-success">
<h5>Districts/Schools/Entities Served</h5>
<p class="form-weight-bold px-2"><?php echo $row["vita"]; ?></p>
</div><div class="form-group border border-success">
<h5>Contributions to Tech-Geeks</h5>
<p class="form-weight-bold px-2"><?php echo $row["contributions"]; ?></p>
</div><div class="form-group border border-success">
<h5>Districts/Schools/Entities Served</h5>
<p class="form-weight-bold px-2"><?php echo $row["location"]; ?></p>
</div>
<p><a href="member-index2.php" class="btn btn-primary">Back</a></p>
</div>
</div>
</div>
</section>
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
</body>
</html>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/member-update.php'
<?php
// Include config file
require_once "config.php";
require_once "helpers.php";
// Define variables and initialize with empty values
$name = "";
$nominated_by = "";
$year_inducted = "";
$vita = "";
$contributions = "";
$location = "";
$approved = "";
$name_err = "";
$nominated_by_err = "";
$year_inducted_err = "";
$vita_err = "";
$contributions_err = "";
$location_err = "";
$approved_err = "";
// Processing form data when form is submitted
if(isset($_POST["member_id"]) && !empty($_POST["member_id"])){
// Get hidden input value
$member_id = $_POST["member_id"];
$name = trim($_POST["name"]);
$nominated_by = trim($_POST["nominated_by"]);
$year_inducted = trim($_POST["year_inducted"]);
$vita = trim($_POST["vita"]);
$contributions = trim($_POST["contributions"]);
$location = trim($_POST["location"]);
$approved = trim($_POST["approved"]);
// Prepare an update statement
$dsn = "mysql:host=$db_server;dbname=$db_name;charset=utf8mb4";
$options = [
PDO::ATTR_EMULATE_PREPARES => false, // turn off emulation mode for "real" prepared statements
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //turn on errors in the form of exceptions
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, //make the default fetch be an associative array
];
try {
$pdo = new PDO($dsn, $db_user, $db_password, $options);
} catch (Exception $e) {
error_log($e->getMessage());
exit('Something weird happened');
}
$vars = parse_columns('member', $_POST);
$stmt = $pdo->prepare("UPDATE member SET name=?,nominated_by=?,year_inducted=?,vita=?,contributions=?,location=?,approved=? WHERE member_id=?");
if(!$stmt->execute([ $name,$nominated_by,$year_inducted,$vita,$contributions,$location,$approved,$member_id ])) {
echo "Something went wrong. Please try again later.";
header("location: error.php");
} else {
$stmt = null;
header("location: member-read.php?member_id=$member_id");
}
} else {
// Check existence of id parameter before processing further
$_GET["member_id"] = trim($_GET["member_id"]);
if(isset($_GET["member_id"]) && !empty($_GET["member_id"])){
// Get URL parameter
$member_id = trim($_GET["member_id"]);
// Prepare a select statement
$sql = "SELECT * FROM member WHERE member_id = ?";
if($stmt = mysqli_prepare($link, $sql)){
// Set parameters
$param_id = $member_id;
// Bind variables to the prepared statement as parameters
if (is_int($param_id)) $__vartype = "i";
elseif (is_string($param_id)) $__vartype = "s";
elseif (is_numeric($param_id)) $__vartype = "d";
else $__vartype = "b"; // blob
mysqli_stmt_bind_param($stmt, $__vartype, $param_id);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
$result = mysqli_stmt_get_result($stmt);
if(mysqli_num_rows($result) == 1){
/* Fetch result row as an associative array. Since the result set
contains only one row, we don't need to use while loop */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
// Retrieve individual field value
$name = $row["name"];
$nominated_by = $row["nominated_by"];
$year_inducted = $row["year_inducted"];
$vita = $row["vita"];
$contributions = $row["contributions"];
$location = $row["location"];
$approved = $row["approved"];
} else{
// URL doesn't contain valid id. Redirect to error page
header("location: error.php");
exit();
}
} else{
echo "Oops! Something went wrong. Please try again later.<br>".$stmt->error;
}
}
// Close statement
mysqli_stmt_close($stmt);
} else{
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php");
exit();
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Update Record</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
</head>
<?php require_once('navbar.php'); ?>
<body>
<section class="pt-5">
<div class="container-fluid">
<div class="row">
<div class="col-md-6 mx-auto border border-danger">
<div class="page-header">
<h2>Update Database Record</h2>
</div>
<p>Please edit the input values and submit to update the record.</p>
<form action="<?php echo htmlspecialchars(basename($_SERVER['REQUEST_URI'])); ?>" method="post">
<div class="form-group">
<label>Nominee</label>
<input type="text" name="name" maxlength="100"class="form-control" value="<?php echo $name; ?>">
<span class="form-text"><?php echo $name_err; ?></span>
</div>
<div class="form-group">
<label>Nominated By</label>
<input type="text" name="nominated_by" maxlength="100"class="form-control" value="<?php echo $nominated_by; ?>">
<span class="form-text"><?php echo $nominated_by_err; ?></span>
</div>
<div class="form-group">
<label>Year Nominated</label>
<input type="text" name="year_inducted" maxlength="10"class="form-control" value="<?php echo $year_inducted; ?>">
<span class="form-text"><?php echo $year_inducted_err; ?></span>
</div>
<div class="form-group">
<label>Districts/Schools/Entities Served</label>
<input type="text" name="vita" class="form-control" value="<?php echo $vita; ?>">
<span class="form-text"><?php echo $vita_err; ?></span>
</div>
<div class="form-group">
<label>Contributions to Tech-Geeks</label>
<input type="text" name="contributions" class="form-control" value="<?php echo $contributions; ?>">
<span class="form-text"><?php echo $contributions_err; ?></span>
</div>
<div class="form-group">
<label>Districts/Schools/Entities Served</label>
<input type="text" name="location" class="form-control" value="<?php echo $location; ?>">
<span class="form-text"><?php echo $location_err; ?></span>
</div>
<div class="form-group">
<label>approved</label>
<input type="number" name="approved" class="form-control" value="<?php echo $approved; ?>">
<span class="form-text"><?php echo $approved_err; ?></span>
</div>
<input type="hidden" name="member_id" value="<?php echo $member_id; ?>"/>
<input type="submit" class="btn btn-primary" value="Submit">
<a href="member-index.php" class="btn btn-secondary">Cancel</a>
</form>
</div>
</div>
</div>
</section>
</body>
</html>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/navbar.php'
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand nav-link disabled" href="#"><?=$appname?></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="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Select Page
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a href="member-index.php" class="dropdown-item">Hall of Fame Nominees Manager</a> <a href="member-index2.php" class="dropdown-item" target="_blank">Hall of Fame Nominees Viewer</a>
<?php if(isset($_SESSION['user_session'])) { ?>
<a href="logout.php" class="dropdown-item">Logout</a>
<?php } ?>
<!-- TABLE_BUTTONS -->
</div>
</li>
</ul>
</div>
</nav>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/sign-up.php'
<?php
@session_start();
require_once 'config.php';
if($user->is_loggedin()!="")
{
$user->redirect('member-index.php');
}
if(isset($_POST['btn-signup']))
{
$uname = trim($_POST['txt_uname']);
$umail = trim($_POST['txt_umail']);
$upass = trim($_POST['txt_upass']);
if($uname=="") {
$error[] = "Please enter a username !";
}
else if($umail=="") {
$error[] = "Please enter an email address !";
}
else if(!filter_var($umail, FILTER_VALIDATE_EMAIL)) {
$error[] = 'Please enter a valid email address !';
}
else if($upass=="") {
$error[] = "Please enter a password !";
}
else if(strlen($upass) < 6){
$error[] = "Your password must be at least 6 characters long";
}
else
{
try
{
$stmt = $DB_con->prepare("SELECT user_name,user_email FROM users_table WHERE user_name=:uname OR user_email=:umail");
$stmt->execute(array(':uname'=>$uname, ':umail'=>$umail));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
if($row['user_name']==$uname) {
$error[] = "Sorry . . . that username is already taken!";
}
else if($row['user_email']==$umail) {
$error[] = "Sorry . . . that email address is already taken!";
}
else
{
if($user->register($fname,$lname,$uname,$umail,$upass))
{
$user->redirect('sign-up.php?joined');
}
}
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?=$appname?> Sign Up</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
<div class="form-container">
<form method="post">
<h2><?=$appname?> Sign Up</h2><hr />
<?php
if(isset($error))
{
foreach($error as $error)
{
?>
<div class="alert alert-danger">
<i class="glyphicon glyphicon-warning-sign"></i> <?php echo $error; ?>
</div>
<?php
}
}
else if(isset($_GET['joined']))
{
?>
<div class="alert alert-info">
<i class="glyphicon glyphicon-log-in"></i> Successfully registered <a href='index.php'>login</a> here
</div>
<?php
}
?>
<div class="form-group">
<input type="text" class="form-control" name="txt_uname" placeholder="Enter Username" value="<?php if(isset($error)){echo $uname;}?>" />
</div>
<div class="form-group">
<input type="text" class="form-control" name="txt_umail" placeholder="Enter E-Mail Address" value="<?php if(isset($error)){echo $umail;}?>" />
</div>
<div class="form-group">
<input type="password" class="form-control" name="txt_upass" placeholder="Enter Password" />
</div>
<div class="clearfix"></div><hr />
<div class="form-group">
<button type="submit" class="btn btn-block btn-primary" name="btn-signup">
<i class="glyphicon glyphicon-open-file"></i> SIGN UP
</button>
</div>
<br />
<label>Already have an account? <a href="login.php">Sign In</a></label>
</form>
</div>
</div>
</body>
</html>
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/style.css'
@charset "utf-8";
body {
padding-bottom: 40px;
background-color: #f7f7f7;
}
.container
{
margin-top:80px;
}
h2
{
font-family:Tahoma, Geneva, sans-serif;
color:#00a2d1;
}
.form-container
{
width:500px;
margin:0 auto;
background:#fff;
padding: 25px;
box-shadow: 0px 0px 2px rgba(0,0,0,0.4);
border-radius:3px;
}
button
{
font-family:Verdana, Geneva, sans-serif;
font-size:25px;
}
label
{
font-family:Tahoma, Geneva, sans-serif;
color:.00a9d1;
}
a
{
text-decoration:underline;
}
/* home page style */
.header
{
text-align:center;
font-size:25px;
color:#fff;
background:#00a2d1;
height:60px;
width:100%;
}
.header a
{
color:#f9f9f9;
font-family:Verdana, Geneva, sans-serif;
font-size:25px;
text-decoration:none;
position:relative;
top:15px;
}
.header .left
{
float:left;
position:relative;
left:150px;
}
.header .right
{
float:right;
position:relative;
right:150px;
}
.content
{
margin:0 auto;
margin-top:50px;
text-align:center;
font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
font-size:36px;
color:#00a2d1;
}
.content p
{
font-size:24px;
color:#004567;
width:800px;
margin:0 auto;
}
wget 'https://sme10.lists2.roe3.org/tg-hof/voting/app/userauth.php'
<?php
// Change these to suit your situation after Cruddiy generates the scripts
$realm = "Tech-Geek Hall of Fame Nominees";
$username = "test";
$passwd = "123456";
/* NOTHING TO CHANGE BEYOND THIS POINT */
$PHP_AUTH_USER = $_SERVER['PHP_AUTH_USER'];
$PHP_AUTH_PW = $_SERVER['PHP_AUTH_PW'];
$err_msg = "
<html>
<head><title>Invalid Username/Password Entered</title>
</head>
<body style='font-size: 11px\; font-family: Tahoma, Arial, sans-serif\;'>
<h2>Invalid Username/Password Entered</h2>
<p>You must enter your username and password. If you do not have a valid username and password, you should not be here.</p>
</body>
</html>
";
function auth_reject()
{
global $err_msg, $realm;
header('WWW-Authenticate: Basic realm=\"Tech-Geek Hall of Fame Nominees\"');
header('HTTP/1.0 401 Unauthorized');
echo "<b>" . $err_msg . "</b>";
exit;
}
if (!isset($PHP_AUTH_USER))
{
auth_reject();
}
if (!isset($PHP_AUTH_PW))
{
auth_reject();
}
if ($PHP_AUTH_USER != $username)
{
auth_reject();
}
if ($PHP_AUTH_PW != $passwd)
{
auth_reject();
}
?>