MV framework logo
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Документация
Скачать .zip версия 3.2.0 от 25.12.2024
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
Документация
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
MV tracker

Личный кабинет пользователя

Это также продолжение раздела Авторизация пользователя. Создаем домашнюю страницу пользователя с возможностью редактирования личных данных и выхода из авторизации (разлогинивания). Добавляем методы в файл модели models/accounts.model.php

public function generateLogoutToken($account)
{
    return md5($account -> id.$_SESSION["account"]["token"].$_SERVER["HTTP_USER_AGENT"]);
}

public function logout()
{
    unset($_SESSION["account"]);
}

Добавляем в самое начало шаблона view-login.php код для разлогинивания

if($account && isset($_GET['logout']))
    if($_GET['logout'] == $mv -> accounts -> generateLogoutToken($account))
    {
        $mv -> accounts -> logout();
        $mv -> reload();
    }

Создаем файл шаблона views/view-user-home.php и вносим маршрут к шаблону в файл config/routes.php

$mvFrontendRoutes = [ ... ,

"home/" => "view-user-home.php"
];

Ссылку на разлогинивание можно ставить в любом месте сайта

 $logout_url = $mv -> root_path."login/?logout=".$mv -> accounts -> generateLogoutToken($account); 

Выйти из аккаунта

Содержимое файла шаблона views/view-user-home.php

if(!$account)
    $mv -> redirect("login/");
 
$form = new Form("Accounts", $account -> id);
$form -> loadRecord();
$form -> addRule("email", "unique", true, "Данный email уже зарегистрирован.");
$form -> useTokenCSRF();

if(!empty($_POST))
{
    $form -> getDataFromPost() -> validate(["name", "email", "phone"]);

    if($form -> isValid())
    {
        $account -> setValues($form -> getAllValues(["name", "email", "phone"]));
        $account -> update();

        $mv -> reload("?done");
    }
}

include $mv -> views_path."main-header.php";



    echo $form -> displayErrors();

    if(isset($_GET['done']))
        echo "

Данные были успешно обновлены.

\n";
echo $form -> display(["name", "email", "phone"]);
echo $form -> displayTokenCSFR();
include $mv -> views_path."main-footer.php";

Предыдущий раздел

Регистрация пользователя
MV workshop banner
MV tracker

© 2014-2025, MV framework team

English MV tracker project Github

Поделиться