Database Connection
Autore: Valeriy KhalifКому все же интересно создавать свой сайт с доступом в Базу данных и далее делать все что вам будет угодно: редактировать Таблицы, выводить с Таблиц динамический контент и многое другое, т.е. перевести свой сайт в ЖИВОЙ, - вот вам начало для вашего труда:
Это скрипт для входа в БД на основе системы доступа Website X5 pro:
<?php
// Подключаем зависимости
require_once "res/x5engine.php";
// Получаем данные для подключения к базе данных
$dbData = getDbData($imSettings['access']['dbid']);
// Проверяем наличие данных
if (empty($dbData)) { die("Ошибка: Данные для подключения к базе данных отсутствуют.");
}
// Пытаемся подключиться к базе данных
$db = new mysqli($dbData['host'],
$dbData['user'],
$dbData['password'],
$dbData['database']);
if ($db->connect_error)
{ die("Ошибка подключения к базе данных: " .
$db->connect_error);}
// Уведомление об успешном подключении
echo "Подключение к базе данных успешно!";
?>
Ну а далее вы уже сами пишите, что вы хотите сделать.
Autore
Добрый день уважаемые колеги!
Решил поделиться некоторым предложением, - как организовать ЛИЧНЫЕ КАБИНЕТЫ для сотрудников компании.
Этот код устанавливается на вашу же страницу, которую вы предварительно ограничили по доступу и разрешили только тем группам сотрудников, которые нужны (можно по разному придумать).
Вот код который сравнивает email посетителя сравнивает с таблицей разрешений и выводит информацию о данных пользователя. Варианты дальнейшего развития можно добавлять.
<?php
// Включаем отображение ошибок для отладки
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
// Подключаем зависимости
require_once "res/x5engine.php";
require_once "admin/libraries/controlpanel.class.php";
// Проверяем, авторизован ли пользователь
$privateArea = new imPrivateArea();
$user = $privateArea->whoIsLogged();
if (!$user) {
die("Ошибка: Доступ запрещен. Пожалуйста, авторизуйтесь.");
}
// Получаем email текущего пользователя и записываем в переменную
$userEmail = $user['email'];
// Выводим email пользователя для проверки
//echo "<p>Email пользователя: " . htmlspecialchars($userEmail) . "</p>";
// Получаем данные для подключения к базе данных
$dbData = getDbData($imSettings['access']['dbid']);
// Проверяем наличие данных
if (empty($dbData)) {
die("Ошибка: Данные для подключения к базе данных отсутствуют.");
}
// Пытаемся подключиться к базе данных
$db = new mysqli($dbData['host'], $dbData['user'], $dbData['password'], $dbData['database']);
if ($db->connect_error) {
die("Ошибка подключения к базе данных: " . $db->connect_error);
}
// Имя таблицы, с которой будем работать
$tableName = "w5_r1ryhtrj_access_management"; // Правильное имя таблицы из PHPMyAdmin
// Проверяем, существует ли таблица (без использования подготовленного выражения)
$query = "SHOW TABLES LIKE '$tableName'";
$result = $db->query($query);
if (!$result) {
die("Ошибка выполнения запроса: " . $db->error);
}
if ($result->num_rows == 0) {
die("Ошибка: Таблица '$tableName' не найдена в базе данных.");
}
// Фильтрация данных по email текущего пользователя
$query = "SELECT * FROM $tableName WHERE email = ?";
$stmt = $db->prepare($query);
if (!$stmt) {
die("Ошибка подготовки запроса: " . $db->error);
}
$stmt->bind_param("s", $userEmail);
$stmt->execute();
$result = $stmt->get_result();
if (!$result) {
die("Ошибка выполнения запроса: " . $db->error);
}
// Получаем данные пользователя
$userData = $result->fetch_assoc();
// Подключаем CSS
echo '<link rel="stylesheet" href="style.css">';
// Выводим данные в строчной форме
echo "<div class='user-info'>";
// Фото пользователя
if (!empty($userData['foto'])) {
echo "<div class='info-row'><span class='label'>Фото:</span> <span class='value'><img src='" . htmlspecialchars($userData['foto']) . "' class='user-photo' alt='Фото пользователя'></span></div>";
} else {
echo "<div class='info-row'><span class='label'>Фото:</span> <span class='value'></span></div>";
}
// Полное имя
echo "<div class='info-row'><span class='label'>Полное имя:</span> <span class='value'>" . htmlspecialchars($userData['firstname'] . ' ' . $userData['lastname']) . "</span></div>";
// Пол
$gender = !empty($userData['gender']) ? htmlspecialchars($userData['gender']) : '';
echo "<div class='info-row'><span class='label'>Ваш пол:</span> <span class='value'>$gender</span></div>";
// E-mail
echo "<div class='info-row'><span class='label'>E-mail:</span> <span class='value'>" . htmlspecialchars($userData['email']) . "</span></div>";
// IP адрес
echo "<div class='info-row'><span class='label'>IP адрес:</span> <span class='value'>" . htmlspecialchars($userData['ip']) . "</span></div>";
// Дата регистрации
echo "<div class='info-row'><span class='label'>Дата регистрации:</span> <span class='value'>" . htmlspecialchars($userData['ts']) . "</span></div>";
// Роль
$role = !empty($userData['role']) ? htmlspecialchars($userData['role']) : 'еще не определена';
echo "<div class='info-row'><span class='label'>Ваша роль:</span> <span class='value'>$role</span></div>";
// Телефон для связи
$tel = !empty($userData['tel']) ? htmlspecialchars($userData['tel']) : '';
echo "<div class='info-row'><span class='label'>Телефон для связи:</span> <span class='value'>$tel</span></div>";
// Полное имя как в паспорте
$fullNamePassport = !empty($userData['full_name_passport']) ? htmlspecialchars($userData['full_name_passport']) : '';
echo "<div class='info-row'><span class='label'>Полное имя как в паспорте:</span> <span class='value'>$fullNamePassport</span></div>";
// Короткая автобиография
$autobiography = !empty($userData['autobiography']) ? htmlspecialchars($userData['autobiography']) : '';
echo "<div class='info-row'><span class='label'>Короткая автобиография:</span> <span class='value'>$autobiography</span></div>";
// Страна проживания
$country = !empty($userData['country']) ? htmlspecialchars($userData['country']) : '';
echo "<div class='info-row'><span class='label'>Страна проживания:</span> <span class='value'>$country</span></div>";
// Данные для платежей
$payment = !empty($userData['payment']) ? htmlspecialchars($userData['payment']) : '';
echo "<div class='info-row'><span class='label'>Данные для платежей:</span> <span class='value'>$payment</span></div>";
// Соглашение
$agreement = !empty($userData['agreement']) && $userData['agreement'] == 1 ? 'Вы согласились с выполнением всех условий договора' : '';
echo "<div class='info-row'><span class='label'>Соглашение:</span> <span class='value'>$agreement</span></div>";
// Дата изменения
$lastUpdated = !empty($userData['last_updated']) ? htmlspecialchars($userData['last_updated']) : '';
echo "<div class='info-row'><span class='label'>Дата изменения:</span> <span class='value'>$lastUpdated</span></div>";
echo "</div>";
// Закрываем соединение с базой данных
$stmt->close();
$db->close();
?>
Красоту наводим с помощью CSS
Устаналивается проще простого -добавляем на страницу ОБЪЕКТ HTML КОД и получаем результат.
Насвойствестраницы ставим "Защищенная страница" ->добавляем Группы пользователей