WebSite X5Help Center

 
Valeriy  Khalif
Valeriy Khalif
User

Database Viewer - работает в версии 24.4 ?  ru

Autore: Valeriy Khalif
Visite 104, Followers 1, Condiviso 0  

Добрый день.

Есть очень важный вопрос.

Database Viewer - работает в версии 24.4 еще работает или нет?!
Одним словом  мне необходимо сделать "Динамическую страницу" (только не то что предлагает конструктор), а свою, которая будет загружаться в зависимости от того какой пользователь зашел на эту страницу, далее в зависимости от этого происходила индексация Таблицы и далее уже выводился результат по данным именно этого пользователя.
Ранее была такая функция Database Viewer (это конечно не то что нужно, но сам принцип работы с контентом можно использовать). При этом доработав код и правильно расположив необходимый кнтент, а так же при необходимости выполнив математические действия и выведя уже новые данные (с записью в результирующую Таблицу).
Вот мне нужно редактировать данные пользователя: 1. Добавить дополнительные поля данных, сделав выбор "типа пользователя" (потом на этой основе индексируя доступ). 2. Страница одна, а при входе на нее пользователя будет генерироваться только его контент. 3. Дополнительно пользователь может запрашивать контен различными дополнительными условиями (дата, оплачено/необплачено и т.д.)

На сегодняшний момент пробуя использовать Database Viewer со всеми верным настройками и Таблицей w5_r1ryhtrj_access_management - я получаю ответ, НЕ ДОСТУПА 

Но в данной таблице есть и данные и доступ указан точно!

Что вы можете порекомендовать и как это исправить?

Postato il
3 RISPOSTE - 1 CORRETTO
Valeriy  Khalif
Valeriy Khalif
User
Autore

Для редактирования таблицы из базы данных используется плагин Database Viewer v.24. Этот плагин позволяет отображать данные из базы данных в виде таблицы и редактировать их.

Пример кода:

<divid="pluginAppObj_19_01"><style>
/* Стили для плагина */
</style><divid="pluginAppObj_19_01_toolbar">
<form><inputtype="text"name="pluginAppObj_19_01_filter_field"id="pluginAppObj_19_01_filter_field"/><buttontype="submit"id="pluginAppObj_19_01_filter_button">Filter</button>
</form></div><divid="pluginAppObj_19_01_table">
</div></div>

Мне необходимо использовать или свой доступ к базе данных:

<?php
// Подключение к базе данных
$servername="localhost";
$username="username";$password="password";
$dbname="database_name";
$conn=newmysqli($servername,$username,$password,$dbname);
// Проверка соединения
if($conn->connect_error){die("Connection failed: ".$conn->connect_error);}

и далее работа уже с таблицами в текущей базе данных....

Или (что намного лучше - Потому как не нарушает политику безопасности, а она у вас на высоте!) использовать ваши плагины и части scripts кода из x5engine.php

Вы можете подсказать - как можно использовать ваши скрипты, чтобы можно было работать с БД ?!
Ну где-то так: 

// Обработка данных из формы
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$id = $_POST['id'];
$new_value = $_POST['new_value'];

$sql = "UPDATE table_name SET column_name = ? WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("si", $new_value, $id);
$stmt->execute();
$stmt->close();
}

$conn->close();
?>

<div id="pluginAppObj_19_01">
<style>
/* Стили для плагина */
</style>
<div id="pluginAppObj_19_01_toolbar">
<form method="post">
<input type="text" name="pluginAppObj_19_01_filter_field" id="pluginAppObj_19_01_filter_field" />
<button type="submit" id="pluginAppObj_19_01_filter_button">Filter</button>
</form>
</div>
<div id="pluginAppObj_19_01_table">
<!-- Здесь будет отображаться таблица с данными из базы данных -->
</div>

Ну где-то так и дале .... 

Что вы можете посоветовать или подсказать?

Leggi di più
Postato il da Valeriy Khalif
Valeriy  Khalif
Valeriy Khalif
User
Autore

И так вы используете:

  • Подключение к базе данных

    • getDbData: Функция возвращает параметры подключения к базе данных, такие как хост, имя пользователя, пароль и имя базы данных.
    • ImDb::from_db_data: Создаёт объект подключения на основе параметров.
  • Хранение конфигурации

    • Данные подключения хранятся в массиве конфигурации, который, вероятно, передаётся из внешнего файла или загружается динамически.
  • Защита данных

    • Для защиты используются подготовленные запросы (prepared statements), что снижает риск SQL-инъекций.
  • ВОПРОС? - Как использую вашу архитектуру пользоваться доступом в БД? 
    Или это не возможно? Вы не хотите открывать доступ в БД через вашу систему?!

Необходимо получить ответ на эти вопросы!!!

Пожалуйста дайте какой-то вменяемый ответ.

Что-бы не городить новую кучу дополнительных модулей и тем самым вводить две системы доступа к БД в конфликт безопасности "как сторонняя инъекция".

Пожалуйста дайте объяснения. 

Leggi di più
Postato il da Valeriy Khalif
Valeriy  Khalif
Valeriy Khalif
User
Autore

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

Это скрипт для входа в БД на основе системы доступа 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

Leggi di più
Postato il da Valeriy Khalif