Begun adding the full admin backend

Admin users can now create the users table (means whoever sets up the
site only needs to create a database then non-tech admin users can
continue from there), close registration and start the game.
This commit is contained in:
jcreek
2014-08-21 19:05:09 +01:00
parent 227c7a4066
commit 9697849acf
6 changed files with 163 additions and 7 deletions
+16
View File
@@ -15,3 +15,19 @@ Assassins-Mission-Control
=========================
The web app for running a semi-automated game of Assassins.
>>Install Instructions
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1) Mission Control requires PHP and MySQL to run. Make sure you've got those installed on your web server.
2) In base.php you need to set your own database details.
3) Using the admin tools in admin.php, create the users table.
4) Your users can now begin to register using register.php - I'd recommend sending out a direct link using a URL shortener, although on the main page there is a link to registering just above the login box.
-------------------------------------
Once all your users have registered
-------------------------------------
5) At this point you do not want anyone else to register so, as I haven't thought of a way to prevent adding any more data to an SQL table, you're going to duplicate the users table to a table called usersfinal which won't get edited by the registration form, thereby preventing anyone else from signing up. To do this head over to the admin tools in admin.php and close the registration.
6) Once you are ready to begin the game you need to go to admin.php and assign all players their targets by starting the game.
+11
View File
@@ -0,0 +1,11 @@
<?php include "../base.php";
// Copy the contents of the table 'users' into 'users-final'
//mysql_query("SELECT * INTO usersfinal FROM users");
//Error checking should go here but I couldn't be bothered to do it yet.
mysql_query("CREATE TABLE usersfinal SELECT * FROM users");
?>
+34
View File
@@ -0,0 +1,34 @@
<?php include "../base.php";
// Create table
$sql = "CREATE TABLE users (
UserID INT(25) NOT NULL AUTO_INCREMENT PRIMARY KEY,
AssassinID INT(25) NOT NULL,
TargetID INT(25) NOT NULL,
Username VARCHAR(65) NOT NULL,
Password VARCHAR(32) NOT NULL,
FullName VARCHAR(255) NOT NULL,
YearGroup VARCHAR(65) NOT NULL,
Subject VARCHAR(65) NOT NULL,
Societies text NOT NULL,
RegularHaunts text NOT NULL,
Ninjaness int NOT NULL,
Address VARCHAR(255) NOT NULL,
Kills int NOT NULL,
Status VARCHAR(65) NOT NULL
)";
// Check table has been created
// THIS IS NEEDED TO RUN THE SQL AND WHO WOULD NOT USE ERROR CHECKING ANYWAY?!
if (mysql_query($sql))
{
echo "Users table created.";
}
else
{
echo "Failed to create users table - check your database details in base.";
}
?>
+81
View File
@@ -0,0 +1,81 @@
<?php include "../base.php";
//random number generator function
function UniqueRandomNumbersWithinRange($min, $max, $quantity) {
$numbers = range($min, $max);
shuffle($numbers);
$array = array_slice($numbers, 0, $quantity);
return $array;
}
//get the number of rows in the table *THIS WORKS
function GetNumberOfRows() {
$result = mysql_query( "select count(UserID) as num_rows from usersfinal" );
$row = mysql_fetch_object( $result );
$total = $row->num_rows;
return $total;
}
//call that stuff to do what I want
$numberofrows = GetNumberOfRows(); //*THIS WORKS
$IDarray = UniqueRandomNumbersWithinRange(1,$numberofrows,$numberofrows);
echo "Here begins the tempIDs output by the for loop:" ;
echo "<br>" ;
//print_r ($IDarray);
for ($counter = 1; $counter <= $numberofrows; $counter += 1) { //*THIS WORKS
$assassinID = $IDarray[$counter - 1] ; //*THIS WORKS
if ($assassinID == $numberofrows) {
$targetID = 1 ;
}
else {
$targetID = $assassinID + 1 ;
}
echo "a: " ;
echo $assassinID ;
echo "<br>" ;
echo "t: " ;
echo $targetID ;
echo "<br>" ;
//set tempID as the assassinID of the user in the row $counter
//set tempID+1 as the target ID of the user in the row $counter
//mysql_query( "NSERT INTO users (AssassinID, TargetID) VALUES ($assassinID, $targetID)" );
echo "Start AssassinSQL " ;
//UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;
mysql_query( "UPDATE usersfinal SET AssassinID = $assassinID WHERE UserID = $counter" ) ;
echo $counter ;
echo "<br>" ;
echo "Start TargetSQL " ;
//UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;
mysql_query( "UPDATE usersfinal SET TargetID = $targetID WHERE UserID = $counter" ) ;
echo $counter ;
echo "<br>" ;
mysql_query( "UPDATE usersfinal SET Status = 'Alive' WHERE UserID = $counter" ) ;
mysql_query( "UPDATE usersfinal SET Kills = 0 WHERE UserID = $counter" ) ;
}
?>
<!--meta content="3;index.php" http-equiv="refresh"-->
<!--
UniqueRandomNumbersWithinRange(1,GetNumberOfRows(),GetNumberOfRows())
For each position in the array: (use i)
userID i is assigned the contents of the array as assassinID
targetID is set as as the contents of the array + 1
Then for each position in the array apply the shuffled number at that position to the user at that position in the table as a column 'AssassinID'.
Then when the game begins just allocate everyone the user with the assassin number after theirs.
When a user successfully kills a player mark that play as dead, void their target column and change the number in the killer's target column to that which was in the deceased's target column.
-->
+14 -1
View File
@@ -9,12 +9,25 @@
<body>
<div id="main">
<form method="post" action="startgame.php" name="startgame" id="startgame">
<form method="post" action="admin-tools/create-users-table.php" name="create-users-table" id="create-users-table">
<fieldset>
<input type="submit" name="create-users-table" id="create-users-table" value="Create Users Table" />
</fieldset>
</form>
<form method="post" action="admin-tools/startgame.php" name="startgame" id="startgame">
<fieldset>
<input type="submit" name="startgame" id="startgame" value="Start Game" />
</fieldset>
</form>
<form method="post" action="admin-tools/close-registration.php" name="close-registration" id="close-registration">
<fieldset>
<input type="submit" name="close-registration" id="close-registration" value="Close Registration" />
</fieldset>
</form>
+6 -5
View File
@@ -1,11 +1,12 @@
<?php
<?php //this code creates the database connection for all pages that need it
session_start();
$dbhost = "mysql.hostinger.co.uk"; // this will ususally be 'localhost', but can sometimes differ
$dbname = "u231858558_main"; // the name of the database that you are going to use for this project
$dbuser = "u231858558_user"; // the username that you created, or were given, to access your database
$dbpass = "Passwords1"; // the password that you created, or were given, to access your database
$dbhost = "localhost"; // this will ususally be 'localhost', but can sometimes differ
$dbname = "assassins"; // the name of the database that you are going to use for this project
$dbuser = "root"; // the username that you created, or were given, to access your database
$dbpass = "root"; // the password that you created, or were given, to access your database
mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_error());
mysql_select_db($dbname) or die("MySQL Error: " . mysql_error());
//echo "success in database connection."; //Uncomment this line if you want to check if a page is loading this database connection code
?>