Главная страница
    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.46 MB
Время: 0.037 c
1-1174556488
duhast
2007-03-22 12:41
2007.05.20
Проблема удаления объектов в 0-ом элемента коллекции (TCollectio)


15-1177164438
Raqw
2007-04-21 18:07
2007.05.20
Подключается к интернету, но не загружаются страницы!


2-1178097367
Washington
2007-05-02 13:16
2007.05.20
Базы данных Access - удаление записей


2-1178050107
dreamse
2007-05-02 00:08
2007.05.20
Подскажите функцию для добавления к указаной переменной string


4-1166351587
Windows
2006-12-17 13:33
2007.05.20
WinSock функция определения коннекта





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский