Add documentation and database connection test script
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
This commit is contained in:
parent
a7bb9d5b31
commit
068bcdfcc4
2 changed files with 260 additions and 0 deletions
151
_website/test_db_connection.php
Normal file
151
_website/test_db_connection.php
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
<?php
|
||||
/**
|
||||
* Database Connection Test Script
|
||||
*
|
||||
* This script tests the database connection and queries the ogp_users table
|
||||
* to verify the login functionality will work correctly.
|
||||
*
|
||||
* ⚠️ SECURITY WARNING: Delete this file after testing!
|
||||
* This file exposes sensitive database information and should not be
|
||||
* accessible in production.
|
||||
*/
|
||||
|
||||
// Include database connection
|
||||
require_once('db.php');
|
||||
|
||||
echo "<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Database Connection Test</title>
|
||||
<style>
|
||||
body { font-family: monospace; padding: 20px; background: #f5f5f5; }
|
||||
.success { color: green; font-weight: bold; }
|
||||
.error { color: red; font-weight: bold; }
|
||||
.info { color: blue; }
|
||||
.section { background: white; padding: 15px; margin: 10px 0; border-radius: 5px; }
|
||||
pre { background: #eee; padding: 10px; border-radius: 3px; overflow-x: auto; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Database Connection Test</h1>
|
||||
<p class='error'>⚠️ WARNING: Delete this file after testing!</p>
|
||||
";
|
||||
|
||||
// Test 1: Check database connection
|
||||
echo "<div class='section'>";
|
||||
echo "<h2>Test 1: Database Connection</h2>";
|
||||
if ($db && mysqli_ping($db)) {
|
||||
echo "<p class='success'>✓ Database connection successful!</p>";
|
||||
echo "<p class='info'>Connected to database</p>";
|
||||
} else {
|
||||
echo "<p class='error'>✗ Database connection failed!</p>";
|
||||
if ($db) {
|
||||
echo "<p class='error'>Error: " . mysqli_connect_error() . "</p>";
|
||||
}
|
||||
echo "</div></body></html>";
|
||||
exit();
|
||||
}
|
||||
echo "</div>";
|
||||
|
||||
// Test 2: Check if ogp_users table exists
|
||||
echo "<div class='section'>";
|
||||
echo "<h2>Test 2: Check ogp_users Table</h2>";
|
||||
$result = mysqli_query($db, "SHOW TABLES LIKE 'ogp_users'");
|
||||
if ($result && mysqli_num_rows($result) > 0) {
|
||||
echo "<p class='success'>✓ ogp_users table exists!</p>";
|
||||
} else {
|
||||
echo "<p class='error'>✗ ogp_users table not found!</p>";
|
||||
echo "</div></body></html>";
|
||||
exit();
|
||||
}
|
||||
echo "</div>";
|
||||
|
||||
// Test 3: Check table structure
|
||||
echo "<div class='section'>";
|
||||
echo "<h2>Test 3: Table Structure</h2>";
|
||||
$result = mysqli_query($db, "DESCRIBE ogp_users");
|
||||
if ($result) {
|
||||
echo "<p class='success'>✓ Table structure retrieved</p>";
|
||||
echo "<p>Columns:</p><pre>";
|
||||
while ($row = mysqli_fetch_assoc($result)) {
|
||||
echo $row['Field'] . " (" . $row['Type'] . ")\n";
|
||||
}
|
||||
echo "</pre>";
|
||||
} else {
|
||||
echo "<p class='error'>✗ Failed to retrieve table structure</p>";
|
||||
}
|
||||
echo "</div>";
|
||||
|
||||
// Test 4: Count users
|
||||
echo "<div class='section'>";
|
||||
echo "<h2>Test 4: User Count</h2>";
|
||||
$result = mysqli_query($db, "SELECT COUNT(*) as count FROM ogp_users");
|
||||
if ($result) {
|
||||
$row = mysqli_fetch_assoc($result);
|
||||
echo "<p class='success'>✓ Total users in database: " . $row['count'] . "</p>";
|
||||
} else {
|
||||
echo "<p class='error'>✗ Failed to count users</p>";
|
||||
}
|
||||
echo "</div>";
|
||||
|
||||
// Test 5: Check required columns
|
||||
echo "<div class='section'>";
|
||||
echo "<h2>Test 5: Required Columns Check</h2>";
|
||||
$required_columns = ['user_id', 'users_login', 'users_passwd', 'users_role', 'users_email'];
|
||||
$result = mysqli_query($db, "SHOW COLUMNS FROM ogp_users");
|
||||
$existing_columns = [];
|
||||
while ($row = mysqli_fetch_assoc($result)) {
|
||||
$existing_columns[] = $row['Field'];
|
||||
}
|
||||
|
||||
$all_present = true;
|
||||
foreach ($required_columns as $col) {
|
||||
if (in_array($col, $existing_columns)) {
|
||||
echo "<p class='success'>✓ Column '$col' exists</p>";
|
||||
} else {
|
||||
echo "<p class='error'>✗ Column '$col' missing!</p>";
|
||||
$all_present = false;
|
||||
}
|
||||
}
|
||||
|
||||
if ($all_present) {
|
||||
echo "<p class='success'><strong>All required columns present!</strong></p>";
|
||||
} else {
|
||||
echo "<p class='error'><strong>Some required columns are missing!</strong></p>";
|
||||
}
|
||||
echo "</div>";
|
||||
|
||||
// Test 6: Test MD5 hash function
|
||||
echo "<div class='section'>";
|
||||
echo "<h2>Test 6: Password Hashing Test</h2>";
|
||||
$test_password = "testpassword";
|
||||
$hashed = md5($test_password);
|
||||
echo "<p class='info'>Test password: '$test_password'</p>";
|
||||
echo "<p class='info'>MD5 hash: '$hashed'</p>";
|
||||
echo "<p class='success'>✓ MD5 hashing works correctly</p>";
|
||||
echo "</div>";
|
||||
|
||||
// Test 7: Test session functionality
|
||||
echo "<div class='section'>";
|
||||
echo "<h2>Test 7: Session Test</h2>";
|
||||
session_name("gameservers_website");
|
||||
session_start();
|
||||
$_SESSION['test_key'] = 'test_value';
|
||||
if (isset($_SESSION['test_key']) && $_SESSION['test_key'] === 'test_value') {
|
||||
echo "<p class='success'>✓ Sessions working correctly</p>";
|
||||
echo "<p class='info'>Session name: " . session_name() . "</p>";
|
||||
echo "<p class='info'>Session ID: " . session_id() . "</p>";
|
||||
unset($_SESSION['test_key']);
|
||||
} else {
|
||||
echo "<p class='error'>✗ Session test failed</p>";
|
||||
}
|
||||
echo "</div>";
|
||||
|
||||
echo "<div class='section'>";
|
||||
echo "<h2>Summary</h2>";
|
||||
echo "<p class='success'><strong>✓ All tests passed! Login functionality should work correctly.</strong></p>";
|
||||
echo "<p class='error'><strong>⚠️ Remember to delete this test file before deploying to production!</strong></p>";
|
||||
echo "</div>";
|
||||
|
||||
echo "</body></html>";
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue