Загрузка данных


Для того чтобы на странице profil.html отображалось имя пользователя, введенное при регистрации, необходимо выполнить три шага: запустить PHP-сессию, получить данные из базы данных и вывести их в HTML-разметку.

Поскольку HTML-файлы не умеют исполнять PHP-код, вам нужно изменить расширение файла с profil.html на profil.php.

1. Изменение в vendor/signup.php
Сначала обновите файл регистрации, чтобы после записи в базу данных ID пользователя сохранялся в сессии. Это позволит серверу «узнать» пользователя на странице профиля. Также не забудьте изменить расширение целевой страницы.

PHP
// ... код подключения и проверок ...

if (mysqli_query($connect, $query)) {
    // Получаем ID только что созданного пользователя
    $user_id = mysqli_insert_id($connect);
    
    // Сохраняем ID в сессию
    $_SESSION['user'] = [
        "id" => $user_id
    ];

    // Перенаправляем на профиль (теперь .php)
    header('Location: ../profil.php');
    exit();
}
// ...
2. Подготовка profil.php
В самом начале вашего файла profil.php добавьте блок кода, который будет запрашивать данные пользователя из базы.

PHP
<?php
session_start();
require_once 'vendor/db.php';

// Проверка: если пользователь не авторизован, отправляем на страницу регистрации
if (!isset($_SESSION['user'])) {
    header('Location: register copy.html');
    exit();
}

$id = $_SESSION['user']['id'];
$user_data = mysqli_query($connect, "SELECT * FROM `users` WHERE `id` = '$id'");
$user = mysqli_fetch_assoc($user_data);
?>
<!DOCTYPE html>
<html lang="ru">
3. Вывод данных в avatar-section
Найдите в коде страницы блок с аватаром и замените статичное имя Valeriy на PHP-вставку. Благодаря полю display_name в базе, там автоматически появится либо ФИО, либо название компании (в зависимости от того, что было введено в форму).

HTML
<aside class="sidebar">
    <div class="avatar-section">
        <div class="avatar-glow">
            <img src="photo/9b11c40841f711ee95f66a2aaa288599_upscaled.jpeg" alt="Avatar" id="openModalBtn-img">
        </div>
        <h2><?= $user['display_name'] ?></h2>
        
        <span class="badge">
            <?= ($user['user_type'] === 'company') ? 'Корпоративный клиент' : 'Частное лицо' ?>
        </span>
    </div>
    </aside>
Что еще нужно проверить:
Расширение файлов: Все ссылки в вашем проекте, которые вели на profil.html, теперь должны вести на profil.php (например, в навигационном меню nav).

Тип пользователя: В вашей базе данных поле user_type является ENUM('private', 'company'). Это позволяет вам легко настраивать интерфейс профиля под конкретный тип аккаунта.

Безопасность: Если вы планируете выводить данные, которые пользователи могут вводить вручную, рекомендуется использовать htmlspecialchars($user['display_name']) для защиты от XSS-атак.