[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: доступ к БД на хостинге
Boltina
Здравствуйте, нужна помощь в вопросе, описание проблемы:
Не являюсь разработчиком сайтов или веб-программистом, занимаюсь в основном прикладными приложениями. На днях появилась нужда разобраться в одной проблеме: не работает личный кабинет на сайте. Поскольку толком не знал что на нём и как, начал копать. В результате выяснил что сайт на joomlа, стоит на сервере с linux, существует комплекс модулей на php который обеспечивает работу с личным кабинетом. Вход в лк на сайте не работает, что не вводи выбрасывает на главную страницу. Поставил на локальный комп денвер и скинул себе бекап сайта. Прошерстил там немножко, нашёл модули для работы ЛК в них нашёл config.php и другие обработчики. В конфиге есть информация в какой базе лежат данные пользователей для авторизации в ЛК.


"db_host" => "127.0.0.1",
"db_user" => "******",
"db_pass" => "******",
"db_name" => "dbname",


Есть подозрения (в модулях лк нашёл) что на главную страницу выбрасывает если не получается авторизировать пользователя. Думаю что нет соединения с базой, так как 127 - база должна лежать на этом же сервере. Относительно сайта и сервера есть доступ к админке joomla и фтп. На фтп базы нет. Как я могу проверить работоспособность базы или получить доступ к ней? К примеру на локальной машине я могу запустить phpAdmin и работать через него (кстати базы на локальном соответственно тоже нет). На сервере (на фтп) явного наличия phpAdmin я не увидел. Как узнать что, да как там реализовано? Возможно что база лежит в каталогах к которым доступа нет, как к ней подобраться? Куда копать? Что почитать?
Oyeme
Найдите место где просиходит соединение с базой и выведите тип ошибки.

Так же посмотрите что в логах.
Boltina
В каком месте вывести ошибку? Если в классе написать, то я её не увижу там при ошибке отрабатывает
$core->sql->close();

и сразу на главную страницу выбрасывает. Я так полагаю информация о ней хранится в
notes. Где выводить содержимое?

index.php

define("SYS_FILE",true);
define("MAIN_FILE",true);
include("init.php");
$core->sql->close();


init.php

...
require "classes/core.class.php";
$core=new Core();
$core->access_control();
...



core.class

public function __construct($user_id="", $user_ac="")
{
global $config,$modules,$tpl;
$this->sql = @new mysqli($config['db_host'],$config['db_user'],$config['db_pass'],$config['db_name']);
$this->error($this->sql->connect_error);
$this->sql->query("SET NAMES 'utf8'");
$modules_array=array();
foreach($modules as $array){
$modules_array+=$array;
}
$this->module=($this->_GET("mod") && array_key_exists($this->_GET("mod"),$modules_array)) ? $this->_GET("mod") : key($modules_array);
if(isset($_SESSION['notes']) && is_array($_SESSION['notes'])){
foreach($_SESSION['notes'] as $key=>$val){
$this->notes[$key]=$val;
}
unset($_SESSION['notes']);
}
}


public function error($text){
$this->notes['error']=$text;
}
public function access_control(){
global $config;
if(isset($_REQUEST['logout'])){
session_unset();
header("Location: /index.php");
}
if(!$this->is_logged()){
if($this->_POST('login') && $this->_POST('password')){
$user_id=$this->sql_isset('users',array('id_user','password'),array($this->_POST('login'),md5(md5($this->_POST('password')))),"id_user");
if($user_id){
$_SESSION['logged']=true;
$_SESSION['user_id']=$user_id;
$this->user_id=$user_id;
setcookie("last_activity",time());
}
}
}
elseif(empty($_COOKIE['last_activity']) or time()-$_COOKIE['last_activity']>$config['MAX_ONLINE']){
session_unset();
if(!defined('AJAX')){
header("Location: /index.php");
}
}

setcookie("last_activity",time());
$this->set_main_vars();
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.