WebSite X5Help Center

 
Valeriy  Khalif
Valeriy Khalif
User

Database Connection  ru

Autor: Valeriy Khalif
Visitado 61, Seguidores 1, Compartilhado 0  

Кому все же интересно создавать свой сайт с доступом в Базу данных и далее делать все что вам будет угодно: редактировать Таблицы, выводить с Таблиц динамический контент и многое другое, т.е. перевести свой сайт в ЖИВОЙ, - вот вам начало для вашего труда:

Это скрипт для входа в БД на основе системы доступа 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 "Подключение к базе данных успешно!";
?>

Ну а далее вы уже сами пишите, что вы хотите сделать.coolcoolcool

Publicado em
1 RESPOSTAS
Valeriy  Khalif
Valeriy Khalif
User
Autor

Добрый день уважаемые колеги!

Решил поделиться некоторым предложением, - как организовать ЛИЧНЫЕ КАБИНЕТЫ для сотрудников компании. 
Этот код устанавливается на вашу же страницу, которую вы предварительно ограничили по доступу и разрешили только тем группам сотрудников, которые нужны (можно по разному придумать).

Вот код который сравнивает 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 КОД  и получаем результат.
Насвойствестраницы  ставим  "Защищенная  страница"  ->добавляем  Группы  пользователей

Ler mais
Publicado em de Valeriy Khalif