ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #21  
Старый 23.03.2008, 12:31
serg-php
Участник форума
Регистрация: 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 ); 
 

  #22  
Старый 24.03.2008, 11:20
prognonic
Новичок
Регистрация: 21.03.2008
Сообщений: 5
Провел на форуме:
3104

Репутация: 0
По умолчанию

Цитата:
Сообщение от serg-php  
Вопрос дилетантский, как искать ?
Запускаешь видишь ошибку....
Пытаешься понять почему она....
Или косяк в синтексисе или логика поломалась...
 

  #23  
Старый 24.03.2008, 11:22
prognonic
Новичок
Регистрация: 21.03.2008
Сообщений: 5
Провел на форуме:
3104

Репутация: 0
По умолчанию

Цитата:
Сообщение от serg-php  
Ошибку получаю:
А там есть в коде инициализация базы?
И что в $tbl?
Сама таблица на месте?
 

  #24  
Старый 25.03.2008, 00:39
serg-php
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме:
205760

Репутация: 28
По умолчанию

Таблица на месте!
 

  #25  
Старый 25.03.2008, 00:42
serg-php
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме:
205760

Репутация: 28
По умолчанию

Выше привел оригинал файла до дезенда!
 

Другой подход
  #26  
Старый 26.03.2008, 02:30
serg-php
Участник форума
Регистрация: 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( );
?>

Запускаю в системе - получаю ответ

Цитата:
Module not found
Очевидно, шибка в отрезке

Код:
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( );

Прошу помочь. Подозрение общее на ошибку в цикле, либо пропущена запятая или скобка!
 

  #27  
Старый 26.03.2008, 03:17
do217
Новичок
Регистрация: 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( );
?>
 

  #28  
Старый 27.03.2008, 02:03
serg-php
Участник форума
Регистрация: 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
 

  #29  
Старый 27.03.2008, 16:06
prognonic
Новичок
Регистрация: 21.03.2008
Сообщений: 5
Провел на форуме:
3104

Репутация: 0
По умолчанию

Ну да пропиши ее напрямую
 

  #30  
Старый 30.03.2008, 14:59
serg-php
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме:
205760

Репутация: 28
По умолчанию

Вся проблема в том, что дезендер делает ошибки! Я не знаю какой там файл нужен!
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ