Загрузил сайт на хостинг, подключение к бд успешно. После регистрации данные пользователя создаются в бд, но после нажатия кнопки "войти" выдаёт ошибку HTTP ERROR 500. Как я предполагаю ошибка с самой таблицей users. При использовании openserver и бд в нём всё работает, но при загрузки на хостинг нет. Ссылка на сайт: http://krivchenkowarehouse.free.nf Файл index.php:
<?php
require 'includes/db.php'; session_start();
// Обработка формы входа if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = $_POST['username']; $password = $_POST['password'];
// Проверка пользователя в бд $stmt = $conn->prepare("SELECT id, password, role FROM users WHERE username = ?"); $stmt->bind_param("s", $username); $stmt->execute(); $stmt->store_result();
if ($stmt->num_rows > 0) { $stmt->bind_result($userId, $hashedPassword, $role); $stmt->fetch();
// Перенаправление на панель управления header("Location: dashboard.php"); exit; } else { $error = "Неправильный пароль."; } } else { $error = "Пользователь не найден."; } $stmt->close(); } ?>
Файл dashboard.php:
<?php require 'includes/db.php'; session_start();
// Проверка на авторизацию if (!isset($_SESSION['user_id'])) { header("Location: index.php"); exit; }
// Получение роли пользователя $userId = $_SESSION['user_id']; $stmt = $conn->prepare("SELECT role FROM users WHERE id = ?"); $stmt->bind_param("i", $userId); $stmt->execute(); $stmt->bind_result($role); $stmt->fetch(); $stmt->close();
$_SESSION['role'] = $role;
if (!in_array($role, ['admin', 'user'])) { header("Location: index.php"); exit; }
Ссылка на сайт: http://krivchenkowarehouse.free.nf
Файл index.php:
Файл dashboard.php: Скрин таблицы users: