Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

PHP: Call to a member function ...   Найти похожие ветки 

 
SerJaNT ©   (2007-04-21 11:11) [0]

Файл index.php:

// выше создаю экземпляр класса Users
include "include/functions.php";


Файл functions.php:

function autoloader ($side)
{
   $autoload = ListAllFiles("autoload");
   foreach ($autoload AS $filename)
   {
       if (strpos($filename,".php"))
       {
           define("_AUTOLOAD_",$filename);
           include_once "autoload/".$filename;
           if (_SIDE_ == $side)
           {
               __start();
           }
       }
   }
}


Эта функция перебирает все файлы в диретории autoload и загружает только PHP-файлы. В этой папке всего один файл, его содержимое такое:

<?php  
if (defined("_AUTOLOAD_")) {

   define("_SIDE_", "LEVEL_3");

   function __start()
   {
       global $db,$user,$_SESSION;
       if ($_SESSION["user_logged"] == "yes")
       {
           $res8 = $db->query("SELECT * FROM %PREFIX%privmsg WHERE msg_to="".$user->GetUserInfoBy($_SESSION["user_id"],"zn_login")."" AND msg_have_read="no" AND msg_folder="inbox"");
           $count = $db->num_rows($res8);

           if ($count != 0)
           {
               print "Hello world!";
           }
       }

   }

}
?>


при выполнении пишет "Fatal error: Call to a member function GetUserInfoBy() on a non-object in e:\document\znakomsya.net\autoload\CheckNewPM.php on line 21"

21 - это где $user->GetUserInfoBy($_SESSION["user_id"],"zn_login"), но ведь экземпляр класса Users я создал еще в index.php и присвоил в $user. Почему невозможно обратиться к методу GetUserInfoBy класса Users? Переменную $user глобально объявил, вроде. Чего не хватает?


 
Zeqfreed ©   (2007-04-21 16:44) [1]

Вы вопросы по PHP сюда пишете потому, что знаете, что на phpclub.ru с такими вопросами вас засмеют, ага?


 
SerJaNT ©   (2007-04-22 00:40) [2]

> [1] Zeqfreed ©   (21.04.07 16:44)


Сюда ближе идти :)


 
homm ©   (2007-04-22 00:47) [3]

> Вы вопросы по PHP сюда пишете потому, что знаете, что на
> phpclub.ru с такими вопросами вас засмеют, ага?

Я бы, например писал имеено сюда, потому что в DMClient"е нет сверху вкладки phpclub.ru :)


 
Real ©   (2007-04-22 02:46) [4]


> // выше создаю экземпляр класса Users

А это что, топ-секретная часть? может имеет смысл привести весь исходник? или это конкурс на телепатию? Ну что ж, будем пробовать :) Регистр символов объявления функции, идентичен ее вызову?


 
SerJaNT ©   (2007-04-22 03:31) [5]

users.php
<?php    
class users
{
   function GetUserInfoBy($user_id,$field_name)
   {
       global $db;
       $res = $db->query("SELECT * FROM %PREFIX%users WHERE Id="".$user_id.""");
       $data = $db->fetch_array($res);
       return $data[$field_name];
   }
   function IsUserLogged()
   {
       if ($_SESSION["user_logged"] == "yes") return true;
       return false;
   }
}
?>


 
McSimm ©   (2007-04-22 10:56) [6]


> экземпляр класса Users я создал еще в index.php и присвоил
> в $user

Значит нет. В 21й строке в этой переменной не объект, можете убедится с помощью var_dump.

Возможно в index.php инициализация внутри функции и вы забыли глобализировать ее там. Гадать нет желания. Гораздо проще вам отладить.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.037 c
1-1173451304
oleg__
2007-03-09 17:41
2007.05.20
TChart


2-1177926645
Marat
2007-04-30 13:50
2007.05.20
Нашел в Инете- не хочет работать


2-1178273173
Doom-2
2007-05-04 14:06
2007.05.20
Как запустить приложения по очереди?


2-1178119436
I-New
2007-05-02 19:23
2007.05.20
Открыть папку explorer ом из Delphi


15-1176990214
divisi
2007-04-19 17:43
2007.05.20
Розроботка Игор





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский