ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

23.03.2008, 12:31
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Ошибку получаю:
Fatal error: Call to a member function query() on a non-object in
- это строка
PHP код:
$res = $this->db->query( "SHOW FIELDS FROM ".$tbl );
|
|
|

24.03.2008, 11:20
|
|
Новичок
Регистрация: 21.03.2008
Сообщений: 5
Провел на форуме: 3104
Репутация:
0
|
|
Сообщение от serg-php
Вопрос дилетантский, как искать ?
Запускаешь видишь ошибку....
Пытаешься понять почему она....
Или косяк в синтексисе или логика поломалась...
|
|
|

24.03.2008, 11:22
|
|
Новичок
Регистрация: 21.03.2008
Сообщений: 5
Провел на форуме: 3104
Репутация:
0
|
|
Сообщение от serg-php
Ошибку получаю:
А там есть в коде инициализация базы?
И что в $tbl?
Сама таблица на месте?
|
|
|

25.03.2008, 00:39
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Таблица на месте!
|
|
|

25.03.2008, 00:42
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Выше привел оригинал файла до дезенда!
|
|
|

26.03.2008, 02:30
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Другой подход
Код скрипта следующий:
Код:
<?php
function ShowModSetupPage( $tpl_f = "" )
{
global $O_HW;
global $err_msg;
global $MOD_CFG;
$A_CFG = array( );
include( SITE_PATH."modules/".HW_MOD."/hw_info.php" );
if ( $A_CFG )
{
$a_v = $O_HW->GetModOptions( HW_MOD );
if ( is_array( $a_v ) )
{
foreach ( array_keys( $a_v ) as $k )
{
if ( !isset( $A_CFG[$k] ) )
{
unset( $a_v[$k] );
}
}
if ( $a_v )
{
$A_CFG = array_merge( $A_CFG, $a_v );
}
unset( $a_v );
}
}
if ( $_POST['go'] )
{
if ( $A_CFG )
{
foreach ( array_keys( $A_CFG ) as $k )
{
if ( !isset( $_POST[$k] ) && substr( $k, 0, 3 ) != "EN_" )
{
continue;
}
$A_CFG[$k] = $_POST[$k];
}
}
$func = HW_MOD."_SetupValidate";
if ( function_exists( $func ) )
{
$err_msg = $func( );
}
if ( !$err_msg )
{
$func = HW_MOD."_SetupOnSave";
if ( function_exists( $func ) )
{
$func( $A_CFG );
}
$O_HW->SetModOptions( HW_MOD, $A_CFG );
$MOD_CFG = $O_HW->GetModOptions( HW_MOD );
$err_msg = hwlng( "updated_ok" );
}
}
$z = array( );
if ( $A_CFG )
{
foreach ( $A_CFG as $k => $v )
{
if ( substr( $k, 0, 3 ) == "EN_" )
{
$z[$k] = $v ? "checked" : "";
}
else
{
$z[$k] = $v;
}
}
}
$func = HW_MOD."_SetupPrepare";
if ( function_exists( $func ) )
{
$func( $z );
}
if ( !$tpl_f )
{
$tpl_f = HW_MOD_TPL."setup.htm";
}
return evaladvtpl( $tpl_f, $z );
}
function hwGetModuleDescr( $mod )
{
global $db;
list( $state, $descr ) = $db->one_row( "SELECT state,descr FROM ".TBL_MODULES." WHERE dir=".$db->esc( $mod )." AND admin_capable=\"1\"" );
if ( $state != "A" && $state != "I" )
{
showadmheader( );
echo "Module is not available";
showadmfooter( );
exit( );
}
return $descr;
}
define( "HTTP_HOST", $_SERVER['HTTP_HOST'] );
define( "ADMIN_AREA", 1 );
require( "../inc/application.php" );
if ( basename( __FILE__ ) != "modules.php" )
{
exit( "Access Denied" );
}
$mod = $_POST['mod'] ? $_POST['mod'] : $_GET['mod'];
$mod = ( boolean )$mod;
$a_mods = hwmodgetarray( );
if ( !$mod || !$a_mods[$mod] )
{
exit( "Module not found" );
}
checkloggedinadm( );
$HW_MOD = $mod;
$HW_MOD_DIR = MOD_DIR.$HW_MOD."/";
$HW_MOD_URL = "modules.php?mod=".$HW_MOD;
define( "HW_MOD", $mod );
define( "HW_MOD_DIR", MOD_DIR.HW_MOD."/" );
define( "HW_MOD_URL", "modules.php?mod=".HW_MOD );
define( "HW_MOD_TPL", HW_MOD_DIR."tpl/admin/" );
$MOD_CFG = $O_HW->GetModOptions( HW_MOD );
$mod_descr = hwgetmoduledescr( HW_MOD );
if ( !hwhasvalidkey( HW_MOD ) )
{
exit( "Module is not licensed for this domain : ".HW_MOD );
}
include( HW_MOD_DIR."hw_admin.php" );
hwmodloadlng( HW_MOD );
$HW_WRAP = 1;
if ( $pg == "setup" || $_GET['pg'] == "setup" )
{
$buf = showmodsetuppage( );
}
else
{
$func = HW_MOD."_main";
if ( !function_exists( $func ) )
{
exit( );
}
ob_start( );
$ret_buf = $func( );
$buf = ob_get_contents( );
ob_end_clean( );
if ( empty( $buf ) )
{
$buf = $ret_buf;
}
unset( $ret_buf );
}
if ( $HW_WRAP )
{
$buf = showadmheader( 0 ).$buf.showadmfooter( 0 );
}
hwprocesstags( $buf );
echo $buf;
printparsetime( );
?>
Запускаю в системе - получаю ответ
Очевидно, шибка в отрезке
Код:
define( "HTTP_HOST", $_SERVER['HTTP_HOST'] );
define( "ADMIN_AREA", 1 );
require( "../inc/application.php" );
if ( basename( __FILE__ ) != "modules.php" )
{
exit( "Access Denied" );
}
$mod = $_POST['mod'] ? $_POST['mod'] : $_GET['mod'];
$mod = ( boolean )$mod;
$a_mods = hwmodgetarray( );
if ( !$mod || !$a_mods[$mod] )
{
exit( "Module not found" );
}
а особенно в
Код:
$mod = $_POST['mod'] ? $_POST['mod'] : $_GET['mod'];
$mod = ( boolean )$mod;
$a_mods = hwmodgetarray( );
Прошу помочь. Подозрение общее на ошибку в цикле, либо пропущена запятая или скобка!
|
|
|

26.03.2008, 03:17
|
|
Новичок
Регистрация: 14.03.2008
Сообщений: 3
Провел на форуме: 5487
Репутация:
0
|
|
Сообщение от serg-php
Прошу помочь. Подозрение общее на ошибку в цикле, либо пропущена запятая или скобка!
На твоём месте ябы закомментировал бы так
Код:
<?php
function ShowModSetupPage( $tpl_f = "" )
{
global $O_HW;
global $err_msg;
global $MOD_CFG;
$A_CFG = array( );
include( SITE_PATH."modules/".HW_MOD."/hw_info.php" );
if ( $A_CFG )
{
$a_v = $O_HW->GetModOptions( HW_MOD );
if ( is_array( $a_v ) )
{
foreach ( array_keys( $a_v ) as $k )
{
if ( !isset( $A_CFG[$k] ) )
{
unset( $a_v[$k] );
}
}
if ( $a_v )
{
$A_CFG = array_merge( $A_CFG, $a_v );
}
unset( $a_v );
}
}
if ( $_POST['go'] )
{
if ( $A_CFG )
{
foreach ( array_keys( $A_CFG ) as $k )
{
if ( !isset( $_POST[$k] ) && substr( $k, 0, 3 ) != "EN_" )
{
continue;
}
$A_CFG[$k] = $_POST[$k];
}
}
$func = HW_MOD."_SetupValidate";
if ( function_exists( $func ) )
{
$err_msg = $func( );
}
if ( !$err_msg )
{
$func = HW_MOD."_SetupOnSave";
if ( function_exists( $func ) )
{
$func( $A_CFG );
}
$O_HW->SetModOptions( HW_MOD, $A_CFG );
$MOD_CFG = $O_HW->GetModOptions( HW_MOD );
$err_msg = hwlng( "updated_ok" );
}
}
$z = array( );
if ( $A_CFG )
{
foreach ( $A_CFG as $k => $v )
{
if ( substr( $k, 0, 3 ) == "EN_" )
{
$z[$k] = $v ? "checked" : "";
}
else
{
$z[$k] = $v;
}
}
}
$func = HW_MOD."_SetupPrepare";
if ( function_exists( $func ) )
{
$func( $z );
}
if ( !$tpl_f )
{
$tpl_f = HW_MOD_TPL."setup.htm";
}
return evaladvtpl( $tpl_f, $z );
}
function hwGetModuleDescr( $mod )
{
global $db;
list( $state, $descr ) = $db->one_row( "SELECT state,descr FROM ".TBL_MODULES." WHERE dir=".$db->esc( $mod )." AND admin_capable=\"1\"" );
if ( $state != "A" && $state != "I" )
{
showadmheader( );
echo "Module is not available";
showadmfooter( );
exit( );
}
return $descr;
}
define( "HTTP_HOST", $_SERVER['HTTP_HOST'] );
define( "ADMIN_AREA", 1 );
require( "../inc/application.php" );
if ( basename( __FILE__ ) != "modules.php" )
{
exit( "Access Denied" );
}
$mod = $_POST['mod'] ? $_POST['mod'] : $_GET['mod'];
$mod = ( boolean )$mod;
//$a_mods = hwmodgetarray( ); закомментил т.к. больше нигде не встречается
//if ( !$mod || !$a_mods[$mod] ) скрипт выполняет условие которое нам ненадо? так закоменнтим это условие!
//{
// exit( "Module not found" );
//}
checkloggedinadm( );
$HW_MOD = $mod;
$HW_MOD_DIR = MOD_DIR.$HW_MOD."/";
$HW_MOD_URL = "modules.php?mod=".$HW_MOD;
define( "HW_MOD", $mod );
define( "HW_MOD_DIR", MOD_DIR.HW_MOD."/" );
define( "HW_MOD_URL", "modules.php?mod=".HW_MOD );
define( "HW_MOD_TPL", HW_MOD_DIR."tpl/admin/" );
$MOD_CFG = $O_HW->GetModOptions( HW_MOD );
//$mod_descr = hwgetmoduledescr( HW_MOD ); закомментил т.к. больше нигде не встречается
//if ( !hwhasvalidkey( HW_MOD ) )
//{
// exit( "Module is not licensed for this domain : ".HW_MOD );
//}
include( HW_MOD_DIR."hw_admin.php" );
hwmodloadlng( HW_MOD );
$HW_WRAP = 1;
if ( $pg == "setup" || $_GET['pg'] == "setup" )
{
$buf = showmodsetuppage( );
}
else
{
$func = HW_MOD."_main";
if ( !function_exists( $func ) )
{
exit( );
}
ob_start( );
$ret_buf = $func( );
$buf = ob_get_contents( );
ob_end_clean( );
if ( empty( $buf ) )
{
$buf = $ret_buf;
}
unset( $ret_buf );
}
if ( $HW_WRAP )
{
$buf = showadmheader( 0 ).$buf.showadmfooter( 0 );
}
hwprocesstags( $buf );
echo $buf;
printparsetime( );
?>
|
|
|

27.03.2008, 02:03
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Warning: include(Y:/home/localhost/www/mysite/modules/1hw_admin.php) [function.include]: failed to open stream: No such file or directory in Y:\home\localhost\www\mysite\admin\modules.php on line 128
Warning: include() [function.include]: Failed opening 'Y:/home/localhost/www/mysite/modules/1hw_admin.php' for inclusion (include_path='.;/usr/local/php5/PEAR') in Y:\home\localhost\www\mysite\admin\modules.php on line 128
Комментировать, отсюда следует ничего не надо.
Ошибка в синтаксисе - это одна строка.
Скрипт не может обратиться к модулю, потому что не получил название папки, путь к которой \modules\Member_phpBB2\hw_admin.php
|
|
|

27.03.2008, 16:06
|
|
Новичок
Регистрация: 21.03.2008
Сообщений: 5
Провел на форуме: 3104
Репутация:
0
|
|
Ну да пропиши ее напрямую
|
|
|

30.03.2008, 14:59
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Вся проблема в том, что дезендер делает ошибки! Я не знаю какой там файл нужен!
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|