Panel/_website/test_db_connection.php
copilot-swe-agent[bot] dfe1d0d2db Remove db.php and add navigation menu to all pages
Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2025-10-22 01:35:14 +00:00

157 lines
5.1 KiB
PHP

<?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 configuration
require_once(__DIR__ . '/includes/config.inc.php');
// Create database connection
$db = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!$db) {
die("Connection failed: " . mysqli_connect_error());
}
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>";
?>